PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

68.5. 引导 BKI 文件的结构 #

在它要使用的表存在并拥有要打开的表的条目之前, open 命令无法使用。 (这些最小必需的表是 pg_class、 pg_attribute、pg_proc 和 pg_type。) 为了让这些表自身能够被填充,带 bootstrap 选项的 create 会 隐式地打开被创建的表以供数据插入。

此外,在它们所需的系统目录被创建并填充之前, declare index 和 declare toast 命令也无法使用。

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

  1. 用 create bootstrap 创建一个关键表

  2. 用 insert 插入至少描述这些关键表的数据

  3. close

  4. 对其他关键表重复上述步骤。

  5. 用 create(不带 bootstrap)创建一个非关键表

  6. open

  7. 用 insert 插入期望的数据

  8. close

  9. 对其他非关键表重复上述步骤。

  10. 定义索引和 toast 表。

  11. build indices

毫无疑问还存在其他未记录的顺序依赖。