选择 打开 改范围 完整检索页
受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本的对应页面,或其他在上面列出的活跃大版本。

Chapter 68. BKI 后端接口

后端接口(BKI)文件是使用一种特殊语言编写的脚本,PostgreSQL 后端在引导模式下运行时能够理解这种语言。引导模式允许从零开始创建并填充系统目录,而普通 SQL 命令要求目录已经存在。因此,BKI 文件可以用于最初创建数据库系统。(它们可能也没有其他用途。)

initdb 在创建新的数据库集簇时,使用 BKI 文件完成部分工作。initdb 使用的输入文件作为构建和安装 PostgreSQL 的一部分,由名为 genbki.pl 的程序创建。该程序读取源码树 src/include/catalog/ 目录中采用特殊格式的 C 头文件。创建的 BKI 文件名为 postgres.bki,通常安装在安装树的 share 子目录中。

相关信息可以在 initdb 的文档中找到。

68.1. BKI 文件格式 #

本节描述 PostgreSQL 后端如何解释 BKI 文件。如果手边有一份 postgres.bki 文件作为示例,这段说明会更容易理解。

BKI 输入由一系列命令组成。根据命令语法的不同,每条命令由若干词元组成。词元通常由空白分隔,但如果不会产生歧义,也可以不分隔。没有专门的命令分隔符;语法上不可能属于前一条命令的下一个词元,就会开始一条新命令。(通常为了清晰,你会把新命令写在新的一行。)词元可以是某些关键字、特殊字符(圆括号、逗号等)、数字,或者双引号字符串。所有内容都区分大小写。

# 开头的行会被忽略。