PostgreSQL 9.2.4文書 | ||||
---|---|---|---|---|
前のページ | 上に戻る | 第 57章BKIバックエンドインタフェース | 次のページ |
括弧で与えられた列と、OID tableoidを持つtablenameというテーブルを作成します。
次の列型はbootstrap.cで直接サポートされます。 bool、bytea、char(1バイト)、name、int2、int4、regproc、regclass、regtype、text、oid、tid、xid、cid、int2vector、oidvector、_int4(配列)、_text(配列)、_oid(配列)、_char(配列)、_aclitem(配列)。 この他の型を持つテーブルを作成することはできますが、pg_typeが完了し適切な項目で埋められるまで完了させることができません。(これらの列型のみブートストラップされたテーブルで使用されますが、非ブートストラップカタログは如何なる組み込み型も含む事があるという事を実際に意味しています。)
bootstrapが指定された場合、テーブルはディスク上に作成されるだけで、pg_classやpg_attributeなどにその項目は登録されません。 したがって、これらの項目が(insertコマンドで)固定化されるまで、普通のSQL操作でこのテーブルにアクセスできません。 このオプションはpg_classなど自身を作成するために使用されます。
shared_relationが指定された場合、テーブルは作成されます。 without_oidsが指定されていない限りテーブルはOIDを持ちます。 テーブルの行型OID(pg_type OID)はrowtype_oid句で指定できます。 指定されなければ、OIDは自動的に生成されます。 (bootstrap が指定されていれば、rowtype_oid句は役に立ちません。しかし、文書化のためにともかく指定はできます。)
データを挿入するためにtablenameと名前が付けられたテーブルを開きます。 現在開いているテーブルは閉じられます。
開いているテーブルを閉じます。テーブル名は様々な方法で検査可能ですが、必要性はありません
value1やvalue2などを列の値として、oid_valueをOIDとし、開いているテーブルに行を挿入します。 もしoid_valueがゼロ(0)、もしくは句が省略され、テーブルがOIDを所有していれば、次の有効なOIDが割り当てられます。
NULL値は特別なキーワード、_null_によって指定できます。 空白を含む値は二重引用符で囲まなければなりません。
amnameアクセスメソッドを使用して、tablenameと名付けられたテーブル上に、OID indexoidを所有する、indexnameという名前のインデックスを作成します。 インデックスが付けられるフィールドは、name1、name2など、そして使用される演算子クラスはopclass1、opclass2などとそれぞれ呼ばれます。 このインデックスファイルは作成され、適切なカタログ項目が作成されますが、このコマンドではインデックスの内容の初期化を行いません。
tablenameという名前のテーブル用のTOASTテーブルを作成します。 このTOASTテーブルはOIDとしてtoasttableoidが割り当てられ、そのインデックスはOIDとしてtoastindexoidが割り当てられます。 declare indexと同様、インデックスの作成は遅延されます。
前に宣言されたインデックスを作成します。