70.5. Structure of the Bootstrap BKI File
  The
  
   open
  
  command cannot be used until the tables it uses
   exist and have entries for the table that is to be opened.
   (These minimum tables are
  
   pg_class
  
  ,
  
   pg_attribute
  
  ,
  
   pg_proc
  
  , and
  
   pg_type
  
  .)   To allow those tables themselves to be filled,
  
   create
  
  with the
  
   bootstrap
  
  option implicitly opens
   the created table for data insertion.
 
  Also, the
  
   declare index
  
  and
  
   declare toast
  
  commands cannot be used until the system catalogs they need have been
   created and filled in.
 
  Thus, the structure of the
  
   postgres.bki
  
  file has to
   be:
 
- 
    create bootstrapone of the critical tables
- 
    insertdata describing at least the critical tables
- 
    close
- 
    Repeat for the other critical tables. 
- 
    create(withoutbootstrap) a noncritical table
- 
    open
- 
    insertdesired data
- 
    close
- 
    Repeat for the other noncritical tables. 
- 
    Define indexes and toast tables. 
- 
    build indices
There are doubtless other, undocumented ordering dependencies.