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 bootstrap one of the critical tables
     
      insert data describing at least the critical tables
     
      close
     
Repeat for the other critical tables.
      create (without bootstrap) a noncritical table
     
      open
     
      insert desired data
     
      close
     
Repeat for the other noncritical tables.
Define indexes and toast tables.
      build indices
     
There are doubtless other, undocumented ordering dependencies.