他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

41.9. pg_class

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

表 41-9. pg_class の列

名前参照先説明
relnamename テーブル、インデックス、ビューなどの名前
relnamespaceoidpg_namespace.oid このリレーションを持っている名前空間の OID
reltypeoidpg_type.oid もし何らかの(pg_type 項目のないゼロのインデックス)が存在した場合このテーブルの行の型に対応するデータ型の OID
relownerint4pg_shadow.usesysidリレーションの所有者
relamoidpg_am.oidこれがインデックスの場合は、それに使われている(B-tree、ハッシュなどの)アクセスメソッド
relfilenodeoid このリレーションのディスク上のファイル名前で、何もない場合は 0 。
reltablespaceoidpg_tablespace.oid このリレーションが保存されているテーブル空間。もしゼロであれば、このデータベースのデフォルトテーブル空間を指す。 (もしリレーションがディスク上のファイルに無くても、問題はありません。)
relpagesint4  ページ毎のこのテーブルのディスク上の演算式の(BLCKSZの)サイズ。プランナで使用されるたんなる推測値。VACUUMANALYZE、そして CREATE INDEX コマンドで更新されます。
reltuplesfloat4  テーブル内の行数。プランナで使用されるたんなる推測値。 VACUUMANALYZE、そして CREATE INDEX といったいくつかのDDLコマンドで更新されます。
reltoastrelidoidpg_class.oid このテーブルに関連している TOAST テーブルの OID で、何もない場合は 0 。TOAST テーブルは"行に収まらない"大きい属性を副次テーブルに格納します。
reltoastidxidoidpg_class.oid TOAST テーブルに対するインデックスの 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_attribute.attnum も参照してください。
relchecksint2  テーブル上のチェック制約の数。pg_constraint カタログを参照してください。
reltriggersint2  テーブル上のトリガの数。pg_trigger カタログを参照してください。
relukeysint2 未使用。(テーブル上の一意キーの数ではありません)。
relfkeysint2 未使用。(テーブル上の外部キーの数ではありません)。
relrefsint2 未使用。
relhasoidsbool  リレーションのそれぞれの行に OID を生成した場合は真。
relhaspkeybool  テーブルに主キーが含まれている(あるいはいちど含まれたことがある)場合に真。
relhasrulesbool もしテーブルにルールがある場合に真。 pg_rewrite カタログを参照してください。
relhassubclassbool もしテーブルが子テーブルに継承されている(または以前に継承されていた)場合は真。
relaclaclitem[]  アクセス許可権限。詳細は GRANTREVOKE の説明を参照してください。