开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
68.5. 引导 BKI 文件的结构 #
在 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
无疑还存在其他未文档化的顺序依赖。