Структура файла Bootstrap BKI
Команда open
не может быть использована до тех пор, пока таблицы, которые она использует, не существуют и не содержат записей для открываемой таблицы. (Этими минимальными таблицами являются pg_class
, pg_attribute
, pg_proc
и pg_type
.) Чтобы позволить заполнить эти таблицы, команда create
с опцией bootstrap
неявно открывает созданную таблицу для вставки данных.
Кроме того, команды declare index
и declare toast
нельзя использовать до тех пор, пока не будут созданы и заполнены нужные им системные каталоги.
Таким образом, структура файла postgres.bki
должна быть такой:
create bootstrap
(создание) одной из критичных таблиц.insert
(добавление) данных, описывающих как минимум критичные таблицы.close
.- повторение для других критичных таблиц.
create
(создание) (без bootstrap) некритичной таблицы.open
.insert
(добавление) требуемых данных.close
.- повторение для других некритичных таблиц.
- определение индексов и таблиц TOAST.
build indices
.
Несомненно есть и другие, недокументированные зависимости, диктующие определенный порядок.