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