第 52章BKI バックエンドインターフェイス

目次
52.1. BKI ファイル形式
52.2. BKI コマンド
52.3.

バックエンドインターフェイス(BKI)ファイルはデータベースシステムがまだ存在しない時点においてデータベースの機能の実行を認める特殊な "bootstrap" モードで稼働している PostgreSQL バックエンドに働きかける特殊な言語によるスクリプトです。ですから BKI ファイルはデータベースシステムを初めて作成するときに使用します。(そしてそれ以外のときにはあまり有効ではありません。)

initdb は新しいデータベースクラスタを作成する際にその作業の一部を担わすため BKI ファイルを使います。initdbが使う入力ファイルは PostgreSQL の構築時に genbki.sh というプログラムによって、ソースツリー内にある特別にフォーマットされた C のヘッダーファイルから作成されます。 作成された BKI ファイルは postgres.bki と呼ばれ、通常インストールツリーの share サブディレクトリにインストールされます。

関連情報はinitdbのドキュメントにもあります。

52.1. BKI ファイル形式

この節では PostgreSQL のバックエンドがどのようにして BKI ファイルを解釈するのかを説明します。例として postgres.bki ファイルが手元にあると説明が一層理解し易くなるでしょう。また、バックエンドがどのように起動されるかを理解するためにinitdbのソースコードを参照することもお勧めします。

BKI の入力は一連のコマンドで構成されます。コマンドはいくつものトークンから構成されていて、コマンドのシンタックスに依存しています。トークンは通常空白で分離されていますが、どちらとも解釈されるような曖昧性がなければ必要性ありません。特別なコマンド区切り文字はありません。 したがって、構文上その前のコマンドに属すことができないつぎのトークンは新たなコマンドとなります。(通常、わかりやすくするために、新しいコマンドは新しい行に書きます。)トークンはある一定のキーワードや特別な文字(かっこやカンマなど)、数字、二重引用符で囲まれた文字列などが使用できます。大文字/小文字はすべて区別されます。

#で始まる行は無視されます。