La commande open ne peut pas être utilisée avant que les
tables qu'elle utilise n'existent et n'aient des entrées pour la table à
ouvrir. (Ces tables minimales sont pg_class,
pg_attribute, pg_proc et
pg_type.) Pour permettre le remplissage de ces
tables elles-mêmes,
create utilisé avec l'option bootstrap
ouvre implicitement la table créée pour l'insertion de données.
De la même façon, les commandes declare index et
declare toast ne peuvent pas être utilisées tant que
les catalogues systèmes dont elles ont besoin n'ont pas été créés et remplis.
Du coup, la structure du fichier postgres.bki doit
être :
create bootstrap une des tables critiques
insert les données décrivant au moins les tables critiques
close
À répéter pour les autres tables critiques.
create (sans bootstrap) une table non critique
open
insert les données souhaitées
close
À répéter pour les autres tables non critiques.
Définir les index et les tables TOAST.
build indices
Il existe, sans doute, d'autres dépendances d'ordre non documentées.