pg_class カタログはテーブルや、その他に列を保有しているもの、あるいはテーブルに似たすべてのものを格納しています。その中にはインデックス (pg_index も参照)、シーケンス、ビューおよびその他の特別なリレーションが含まれます。これより以降、"リレーション" と記されている場合はこれらすべてのオブジェクトを意味しています。すべてのフィールドがすべてのリレーションの型に該当するとは限りません。
Table 3-5. pg_class の列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
relname | name | テーブル、インデックス、ビューなどの名前 | |
reltype | oid | pg_type.oid | もし何らかの(pg_type 項目のないゼロのインデックス)が存在した場合このテーブルに対応するデータ型の OID |
relowner | int4 | pg_shadow.usesysid | リレーションの所有者 |
relam | oid | pg_am.oid | これがインデックスの場合は、それに使われている(B-tree、R-tree、hash などの)アクセスメソッド |
relfilenode | oid | このリレーションのディスク上のファイル名前 | |
relpages | int4 | ページごとのこのテーブルのディスク上の表現のサイズ(BLCKSZ サイズ)。プランナで使用されるたんなる推測値。 VACUUM、 ANALYZE、そして CREATE INDEX コマンドで更新されます。 | |
reltuples | float4 | テーブル内のタプル数。プランナで使用されるたんなる推測値。 VACUUM、 ANALYZE、そして CREATE INDEX コマンドで更新されます。 | |
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' = ビュー、's' = 特別なもの、 't' = TOAST の副テーブル | |
relnatts | int2 | (システムの列を計算に入れない)リレーションにある列の数。 pg_attribute にこれらに対応する項目の記載が必要です。 pg_attribute の attnum も参照してください。 | |
relchecks | int2 | テーブル上のチェック制約の数。 pg_relcheck カタログを参照 | |
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 の説明を参照してください。 |