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