Chapter 50. BKI 後端接口

Table of Contents
50.1. BKI 文件格式
50.2. BKI命令
50.3. 例子

後端接口(BKI)文件是一些用特殊語言寫的腳本,這些腳本是 PostgreSQL 後端能夠理解的,以特殊的 "bootstrap"(引導)模式執行, 這種模式允許在不存在系統資料表的零初始條件下執行資料庫函數,而普通的 SQL 命令要求系統資料表必須存在。 因此 BKI 文件可以用於在第一時間建立資料庫系統。 (可能除此以外也沒有其它用處。)

在建立一個新的資料庫集群的時候, initdb就是使用 BKI 文件來完成其工作的一部分。 initdb使用的輸入的文件是作為製作 PostgreSQL的一部分,由一個叫 genbki.sh 的程序建立的, 這個程序讀取原始碼樹目錄的 src/include/catalog/ 目錄裡面的幾個特殊格式的 C 頭文件。生成的 BKI文件叫 postgres.bki 並且通常安裝在安裝樹裡的 share 子目錄。

相關的訊息可以在有關 initdb 的文件中找到。

50.1. BKI 文件格式

本節描述 PostgreSQL 後端是如何理解 BKI 文件。如果把 postgres.bki 文件拿來做為例子, 這些描述會變得容易理解些。 您還可以學習 initdb 的源程序以便獲取後端是如何激活的概念。

BKI輸入是由一系列命令組成的。 命令是由一些記號組成的,具體是什麼由命令語法決定。記號通常是用空白分隔的,但是如果沒有歧義的話可以不要。 沒有什麼特殊的命令分隔符;語法上無法屬於前面命令的記號開始新的一條命令。 (通常您會把一條新的命令放在新的一行上以保持清晰。) 記號可以是某些關鍵字,特殊字元(圓括弧,逗號等),數字,或者雙引號字串。 所有東西都是大小寫敏感的。

# 開頭的行被忽略。