55.3. 系统初始化的BKI文件的结构

open命令打开的表需要系统事先存在另外一些基本的表 ,在这些表存在并拥有数据之前,不能使用open命令。 这些最低限度必须存在的表是pg_class, pg_attribute, pg_proc, and pg_type。 为了允许这些表自己被填充, 带bootstrap 选项的create隐含打开所创建的表用于插入数据。

同样, declare index和declare toast 命令也不能在它们所需要的系统表创建并填充之前使用。

因此,postgres.bki文件的结构必须是这样的:

  • create bootstrap 其中一个关键表

  • insert 数据,这些数据至少描述这些关键表本身

  • close

  • 重复创建和填充其它关键表

  • create (不带 bootstrap)一个非关键表

  • open

  • insert需要的数据

  • close

  • 重复创建其它非关键表

  • 定义索引和toast表

  • build indices

  • 当然,肯定还有其它未记录文档的顺序依赖关系。