BKIコマンド

PostgreSQL 9.1.1文書
前のページ | 巻戻し | 第 56章BKIバックエンドインタフェース | 早送り | 次のページ

# 56.2. BKIコマンド

`create` `tablename` `tableoid` [`bootstrap`] [`shared_relation`] [`without_oids`] [`rowtype_oid` `oid`] (`name1` = `type1` [, `name2` = `type2`, ...])

  括弧で与えられた列と、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`句は役に立ちません。しかし、文書化のためにともかく指定はできます。）

`open` `tablename`

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

`close` [`tablename`]

  開いているテーブルを閉じます。テーブル名は様々な方法で検査可能ですが、必要性はありません

`insert` [`OID =` `oid_value`] `(` `value1` `value2` ... `)`

  `value1`や`value2`などを列の値として、`oid_value`をOIDとし、開いているテーブルに行を挿入します。 もし`oid_value`がゼロ（0）、もしくは句が省略され、テーブルがOIDを所有していれば、次の有効なOIDが割り当てられます。

  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`

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

前のページ | ホーム | 次のページ
BKIファイル形式 | 上に戻る | BKIファイルのブートストラップの構成