バックエンドインタフェース(BKI)ファイルは、「bootstrap」モードで稼動中のPostgreSQLで解釈される特殊な言語で記述されたスクリプトです。 普通のSQLコマンドを実行するにはシステムカタログが事前に存在していなければなりませんが、bootstrapモードではシステムカタログを一から作成することができます。 ですからBKIファイルはデータベースシステムを初めて作成する時に使用します。 (そしてそれ以外の時にはあまり有効ではありません。)
initdbは新しいデータベースクラスタを作成する際に、その作業の一部を担わすためBKIファイルを使います。
initdbが使う入力ファイルはPostgreSQLの構築時にgenbki.pl
というプログラムによって、ソースツリー内のsrc/include/catalog/
にある特別な書式のCのヘッダファイルから作成されます。
作成されたBKIファイルはpostgres.bki
と呼ばれ、通常インストールツリーのshare
サブディレクトリにインストールされます。
関連情報はinitdbのドキュメントから見付けられます。