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
で直接サポートされます。
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
が指定された場合、テーブルは共有として作成されます。
テーブルの行型OID(pg_type
OID)はrowtype_oid
句で指定できます。
指定されなければ、OIDは自動的に生成されます。
(bootstrap
が指定されていれば、rowtype_oid
句は役に立ちません。しかし、文書化のためにともかく指定はできます。)
open
tablename
データを挿入するためにtablename
と名前が付けられたテーブルを開きます。
現在開いているテーブルは閉じられます。
close
tablename
開いているテーブルを閉じます。 照合用にテーブル名を指定しなければなりません。
insert
(
[oid_value
] value1
value2
... )
value1
やvalue2
などを列の値として、開いているテーブルに行を挿入します。
NULL値は特別なキーワード、_null_
によって指定できます。
識別子に見えない値、あるいは数値文字列は単一引用符で囲まなければなりません。
(単一引用符を値に含めるには、二重に書いてください。
エスケープ文字列形式のバックスラッシュエスケープも、文字列内で許されています。)
declare
[unique
]
index
indexname
indexoid
on
tablename
using
amname
(
opclass1
name1
[, ...] )
amname
アクセスメソッドを使用して、tablename
と名付けられたテーブル上に、OID indexoid
を所有する、indexname
という名前のインデックスを作成します。
インデックスが付けられるフィールドは、name1
、name2
など、そして使用される演算子クラスはopclass1
、opclass2
などとそれぞれ呼ばれます。
このインデックスファイルは作成され、適切なカタログ項目が作成されますが、このコマンドではインデックスの内容の初期化を行いません。
declare toast
toasttableoid
toastindexoid
on
tablename
tablename
という名前のテーブル用のTOASTテーブルを作成します。
このTOASTテーブルはOIDとしてtoasttableoid
が割り当てられ、そのインデックスはOIDとしてtoastindexoid
が割り当てられます。
declare index
と同様、インデックスの作成は遅延されます。
build indices
前に宣言されたインデックスを作成します。