在 open 命令所使用的表存在且包含要打开的表条目之前,该命令无法使用。(这些最少需要的表是 pg_class、pg_attribute、pg_proc 和 pg_type。)为了允许填充这些表本身,带有 bootstrap 选项的 create 会隐式地打开创建的表以进行数据插入。
此外,在创建并填充了它们所需的系统目录之前,declare index 和 declare toast 命令也无法使用。
因此,postgres.bki 文件的结构必须是:
create bootstrap 其中一个关键表
insert 描述至少关键表的那些数据
close
对其他关键表重复此操作。
create (不带 bootstrap)一个非关键表
open
insert 所需的数据
close
对其他非关键表重复此操作。
定义索引和 TOAST 表。
build indices
无疑还存在其他未被记录的排序依赖关系。