PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 13.17 » Internes » Déclaration du catalogue système et contenu initial » Structure du fichier BKI de « bootstrap »

70.5. Structure du fichier BKI de « bootstrap »

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 :

  1. create bootstrap une des tables critiques

  2. insert les données décrivant au moins les tables critiques

  3. close

  4. À répéter pour les autres tables critiques.

  5. create (sans bootstrap) une table non critique

  6. open

  7. insert les données souhaitées

  8. close

  9. À répéter pour les autres tables non critiques.

  10. Définir les index et les tables TOAST.

  11. build indices

Il existe, sans doute, d'autres dépendances d'ordre non documentées.