后端接口(BKI)文件是一些用特殊语言写的脚本,这些脚本输入到 Postgres后端以特殊的 “bootstrap”(引导)模式运行, 这种模式允许在不存在数据库系统的情况下执行数据库函数. 因此 BKI 文件可以用于在第一时间创建数据库系统. (可能除此以外也没有其它用处.)
在创建一个新的数据库集群的时候, initdb就是使用 BKI 文件来完成其工作的一部分. initdb使用的输入的 文件是作为制作Postgres的一部分生成的.生成的 BKI 文件叫 global.bki(用于全局表) 和 template1.bki(用于开始时存放在 template1 数据库里 然后在每个新建数据库里都有的表)并且通常安装在安装树里的 share 子目录.
相关的信息可以在有关 initdb 的文档中找到.
本节描述 Postgres 后端是如何理解 BKI 文件.如果把 global1.bki 文件拿来做为例子, 这些描述会变得容易理解些. 你还应该学习 initdb 的源程序 以便获取后端是如何激活的概念.
BKI 输入是由一系列命令组成的.命令是由一些记号组成的,具体是什么 由命令语法决定.记号通常是用空白分隔的,但是如果没有歧义的话可以不要. 没有什么特殊的命令分隔符;语法上无法属于前面命令的记号开始新的一条命令. (通常你会把一条新的命令放在新的一行上以保持清晰.) 记号可以是某些关键字,特殊字符(圆括弧,逗号等),数字,或者双引号字串. 所有东西都是大小写敏感的.
以 # 开头的行被忽略.