open
コマンドは、テーブルが、使用するテーブルが存在し、開かれるテーブルに対しエントリを所有するまで使用できません。(これら最小限度のテーブルは、pg_class
、pg_attribute
、pg_proc
、およびpg_type
です。)これらのテーブル自体が充填されるようにするには、bootstrap
オプションを伴ったcreate
が明示的にデータの挿入のために作成されたテーブルを開きます。
また、必要とするシステムカタログが作成され、値が設定されるまで、declare index
およびdeclare toast
コマンドは使用できません。
従い、postgres.bki
の構造は以下でなければなりません。
1つの重要なテーブルをcreate bootstrap
少なくとも重要なテーブルを記述するデータをinsert
close
その他の重要テーブルに対して反復。
重要でないテーブルを(bootstrap
無しで)create
open
求められるデータのinsert
close
その他の重要でないテーブルに対して反復。
インデックスおよびTOASTテーブルの定義。
build indices
他にも確かに、ドキュメント化されていない順序に関する依存性があります。