71.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 tables -
insert
data describing at least the critical tables -
close
-
Repeat for the other critical tables.
-
create
(withoutbootstrap
) 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.