Перейти к основному содержимому

Структура файла Bootstrap BKI

Команда open не может быть использована до тех пор, пока таблицы, которые она использует, не существуют и не содержат записей для открываемой таблицы. (Этими минимальными таблицами являются pg_class, pg_attribute, pg_proc и pg_type.) Чтобы позволить заполнить эти таблицы, команда create с опцией bootstrap неявно открывает созданную таблицу для вставки данных.

Кроме того, команды declare index и declare toast нельзя использовать до тех пор, пока не будут созданы и заполнены нужные им системные каталоги.

Таким образом, структура файла postgres.bki должна быть такой:

  1. create bootstrap (создание) одной из критичных таблиц.
  2. insert (добавление) данных, описывающих как минимум критичные таблицы.
  3. close.
  4. повторение для других критичных таблиц.
  5. create (создание) (без bootstrap) некритичной таблицы.
  6. open.
  7. insert (добавление) требуемых данных.
  8. close.
  9. повторение для других некритичных таблиц.
  10. определение индексов и таблиц TOAST.
  11. build indices.

Несомненно есть и другие, недокументированные зависимости, диктующие определенный порядок.