★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

75.4. BKIコマンド #

create tablename tableoid [bootstrap] [shared_relation] [rowtype_oid oid] (name1 = type1 [FORCE NOT NULL | FORCE NULL ] [, name2 = type2 [FORCE NOT NULL | FORCE NULL ], ...])

括弧で与えられた列と、OID tableoidを持つtablenameというテーブルを作成します。

次の列型はbootstrap.cで直接サポートされます。 boolbyteachar(1バイト)、nameint2int4regprocregclassregtypetextoidtidxidcidint2vectoroidvector_int4(配列)、_text(配列)、_oid(配列)、_char(配列)、_aclitem(配列)。 この他の型の列を持つテーブルを作成することはできますが、pg_typeが完了し適切な項目で埋められるまで完了させることができません。 (これらの列型のみブートストラップカタログで使用されますが、非ブートストラップカタログは如何なる組み込み型も含む事があるという事を実際に意味しています。)

bootstrapが指定された場合、テーブルはディスク上に作成されるだけで、pg_classpg_attributeなどにその項目は登録されません。 したがって、これらの項目が(insertコマンドで)固定化されるまで、普通のSQL操作でこのテーブルにアクセスできません。 このオプションはpg_classなど自身を作成するために使用されます。

shared_relationが指定された場合、テーブルは共有として作成されます。 テーブルの行型OID(pg_type OID)はrowtype_oid句で指定できます。 指定されなければ、OIDは自動的に生成されます。 (bootstrap が指定されていれば、rowtype_oid句は役に立ちません。しかし、文書化のためにともかく指定はできます。)

open tablename

データを挿入するためにtablenameと名前が付けられたテーブルを開きます。 現在開いているテーブルは閉じられます。

close tablename

開いているテーブルを閉じます。 照合用にテーブル名を指定しなければなりません。

insert ( [oid_value] value1 value2 ... )

value1value2などを列の値として、開いているテーブルに行を挿入します。

NULL値は特別なキーワード、_null_によって指定できます。 識別子に見えない値、あるいは数値文字列は単一引用符で囲まなければなりません。 (単一引用符を値に含めるには、二重に書いてください。 エスケープ文字列形式のバックスラッシュエスケープも、文字列内で許されています。)

declare [unique] index indexname indexoid on tablename using amname ( opclass1 name1 [, ...] )

amnameアクセスメソッドを使用して、tablenameと名付けられたテーブル上に、OID indexoidを所有する、indexnameという名前のインデックスを作成します。 インデックスが付けられるフィールドは、name1name2など、そして使用される演算子クラスはopclass1opclass2などとそれぞれ呼ばれます。 このインデックスファイルは作成され、適切なカタログ項目が作成されますが、このコマンドではインデックスの内容の初期化を行いません。

declare toast toasttableoid toastindexoid on tablename

tablenameという名前のテーブル用のTOASTテーブルを作成します。 このTOASTテーブルはOIDとしてtoasttableoidが割り当てられ、そのインデックスはOIDとしてtoastindexoidが割り当てられます。 declare indexと同様、インデックスの作成は遅延されます。

build indices

前に宣言されたインデックスを作成します。