pg_class

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 41章システムカタログ | 早送り | 次のページ

# 41.9. `pg_class`

`pg_class` カタログはテーブルと、その他に列を保有しているもの、あるいはテーブルに似たすべてのものを目録にしています。その中にはインデックス（`pg_index` も参照）、シーケンス、ビュー、複合型およびある種の特別なリレーションが含まれます。`relkind` を参照してください。これより以降、"リレーション" と記されている場合はこれらすべてのオブジェクトを意味しています。すべての列がすべてのリレーションの型に該当するとは限りません。

表 41-9. `pg_class` の列

名前 | 型 | 参照先 | 説明
--- | --- | --- | ---
`relname` | `name` |  | テーブル、インデックス、ビューなどの名前
`relnamespace` | `oid` | ``pg_namespace`.oid` | このリレーションを持っている名前空間の OID
`reltype` | `oid` | ``pg_type`.oid` | もし何らかの（`pg_type` 項目のないゼロのインデックス）が存在した場合このテーブルの行の型に対応するデータ型の OID
`relowner` | `int4` | ``pg_shadow`.usesysid` | リレーションの所有者
`relam` | `oid` | ``pg_am`.oid` | これがインデックスの場合は、それに使われている（B-tree、ハッシュなどの）アクセスメソッド
`relfilenode` | `oid` |  | このリレーションのディスク上のファイル名前で、何もない場合は 0 。
`reltablespace` | `oid` | ``pg_tablespace`.oid` | このリレーションが保存されているテーブル空間。もしゼロであれば、このデータベースのデフォルトテーブル空間を指す。 （もしリレーションがディスク上のファイルに無くても、問題はありません。）
`relpages` | `int4` |  | ページ毎のこのテーブルのディスク上の演算式の（`BLCKSZ`の）サイズ。プランナで使用されるたんなる推測値。`VACUUM`、`ANALYZE`、そして `CREATE INDEX` コマンドで更新されます。
`reltuples` | `float4` |  | テーブル内の行数。プランナで使用されるたんなる推測値。 `VACUUM`、`ANALYZE`、そして `CREATE INDEX` といったいくつかのDDLコマンドで更新されます。
`reltoastrelid` | `oid` | ``pg_class`.oid` | このテーブルに関連している TOAST テーブルの OID で、何もない場合は 0 。TOAST テーブルは"行に収まらない"大きい属性を副次テーブルに格納します。
`reltoastidxid` | `oid` | ``pg_class`.oid` | TOAST テーブルに対するインデックスの OID。TOAST テーブルでない場合は 0。
`relhasindex` | `bool` |  | これがテーブルであって、インデックスを所有している（あるいはつい最近まで所有していた）ときは真。これは `CREATE INDEX` で設定されますが、`DROP INDEX` コマンドですぐに削除されません。テーブルにインデックスがないと `VACUUM` コマンドが判定した時点で `relhasindex` は削除されます。
`relisshared` | `bool` |  | クラスタ内のすべてのデータベースにわたってこのテーブルが共有されている場合は真。（`pg_database` のような）ある特定のシステムカタログのみ共有されます。
`relkind` | `char` |  | `r` = 通常のテーブル、`i` = インデックス、`S` = シーケンス、`v` = ビュー、`c` = 複合型、`s` = 特別、`t` = TOAST テーブル
`relnatts` | `int2` |  | （システムの列を計算に入れない）リレーションにあるユーザ列数。`pg_attribute` にこれに対応する数多くのエントリの記載があるはずです。`pg_attribute.attnum` も参照してください。
`relchecks` | `int2` |  | テーブル上のチェック制約の数。`pg_constraint` カタログを参照してください。
`reltriggers` | `int2` |  | テーブル上のトリガの数。`pg_trigger` カタログを参照してください。
`relukeys` | `int2` |  | 未使用。（テーブル上の一意キーの数ではありません）。
`relfkeys` | `int2` |  | 未使用。（テーブル上の外部キーの数ではありません）。
`relrefs` | `int2` |  | 未使用。
`relhasoids` | `bool` |  | リレーションのそれぞれの行に OID を生成した場合は真。
`relhaspkey` | `bool` |  | テーブルに主キーが含まれている（あるいはいちど含まれたことがある）場合に真。
`relhasrules` | `bool` |  | もしテーブルにルールがある場合に真。 `pg_rewrite` カタログを参照してください。
`relhassubclass` | `bool` |  | もしテーブルが子テーブルに継承されている（または以前に継承されていた）場合は真。
`relacl` | `aclitem[]` |  | アクセス許可権限。詳細は GRANT と REVOKE の説明を参照してください。

前のページ | ホーム | 次のページ
`pg_cast` | 上に戻る | `pg_constraint`