3.9. pg_class

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

Table 3-9. pg_class の列

名前参照先説明
relnamename テーブル、インデックス、ビューなどの名前
relnamespaceoidpg_namespace.oid このリレーションを含む名前空間の OID
reltypeoidpg_type.oidもし何らかの(pg_type 項目のないゼロのインデックス)が存在した場合このテーブルに対応するデータ型の OID
relownerint4pg_shadow.usesysidリレーションの所有者
relamoidpg_am.oidこれがインデックスの場合は、それに使われている(B-tree、R-tree、hash などの)アクセスメソッド
relfilenodeoid このリレーションのディスク上のファイル名前で、何もない場合は 0 です。
relpagesint4 ページごとのこのテーブルのディスク上の表現のサイズ(BLCKSZ サイズ)。プランナで使用されるたんなる推測値。VACUUMANALYZE、そして CREATE INDEX コマンドで更新されます。
reltuplesfloat4 テーブル内のタプル数。 プランナで使用されるたんなる推測値。 VACUUMANALYZE、そして CREATE INDEX コマンドで更新されます。
reltoastrelidoidpg_class.oid このテーブルに関連している TOAST テーブルの OID で、何もない場合は 0 です。 TOAST テーブルは"行に収まらない"大きい属性を副次テーブルにに格納します
reltoastidxidoidpg_class.oidTOAST テーブルに対するインデックスの OID。TOAST テーブルでない場合は 0。
relhasindexbool  これがテーブルで、インデックスを所有している(あるいはつい最近まで所有していた)ときは真。 これは CREATE INDEX で設定されますが、DROP INDEX コマンドですぐには削除されません。テーブルにインデックスがないと VACUUM コマンドが判定した時点で relhasindex は削除されます。
relissharedbool  クラスタ内のすべてのデータベースにわたってこのテーブルが共有されている場合に真。 (pg_database のような)ある特定のシステムカタログのみ共有されます。
relkindchar  'r' = 通常のテーブル、 'i' = インデックス、 'S' = シーケンス、 'v' = ビュー、 'c' = 複合型、 's' = 特別なもの、 't' = TOAST テーブル
relnattsint2 (システムの列を計算に入れない)リレーションにある列の数。pg_attribute にこれらに対応する項目の記載が必要です。pg_attributeattnum も参照してください。
relchecksint2  テーブル上のチェック制約の数。 pg_constraint カタログを参照
reltriggersint2 テーブル上のトリガの数。 pg_trigger カタログを参照
relukeysint2 使用されていません(一意キーの数ではありません
relfkeysint2 使用されていません (テーブル上の外部キーの数ではありません
relrefsint2 使用されていません
relhasoidsbool リレーションのそれぞれの行に OID を生成した場合は真。
relhaspkeybool テーブルに主キーが含まれている(あるいはいちど含まれたことがある)場合に真。
relhasrulesbool テーブルにルールがある場合に真。 pg_rewrite カタログを参照
relhassubclassbool このテーブルから少なくともひとつのテーブルが継承されている場合は真。
relaclaclitem[] アクセス許可権限。詳細は GRANTREVOKE の説明を参照してください。