70.5. Структура файла 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
Несомненно есть и другие, недокументированные зависимости, диктующие определённый порядок.