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.
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.
build indices
There are doubtless other, undocumented ordering dependencies.