43.12. pg_class

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

表 43-12. pg_class Columns

名前参照先説明
relnamename テーブル、インデックス、ビューなどの名前
relnamespaceoidpg_namespace.oid このリレーションを持っている名前空間のOID
reltypeoidpg_type.oid もし何らかの(pg_type項目のないゼロのインデックス)が存在した場合このテーブルの行の型に対応するデータ型のOID
relowneroidpg_authid.oidリレーションの所有者
relamoidpg_am.oidこれがインデックスの場合は、それに使われている(B-tree、ハッシュなどの)アクセスメソッド
relfilenodeoid このリレーションのディスク上のファイル名前で、何もない場合は0。
reltablespaceoidpg_tablespace.oid このリレーションが保存されているテーブル空間。もしゼロであれば、このデータベースのデフォルトテーブル空間を指す (もしリレーションがディスク上のファイルになくても、問題はありません)。
relpagesint4 このテーブルのディスク上におけるページ単位(BLCKSZ)の表現サイズ。 プランナで使用される単なる推測値。 VACUUMANALYZE、そしてCREATE INDEXコマンドなどの一部のDDLコマンドで更新されます。
reltuplesfloat4 テーブル内の行数。 プランナで使用される単なる推測値。 VACUUMANALYZECREATE INDEXなどの一部のDDLコマンドで更新されます。
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 = 複合型、t = TOASTテーブル
relnattsint2  (システムの列を計算に入れない)リレーションにあるユーザ列数。pg_attributeにこれに対応する数多くのエントリの記載があるはずです。pg_attribute.attnumも参照してください。
relchecksint2 テーブル上の検査制約の数。 pg_constraintカタログを参照してください。
reltriggersint2 テーブル上のトリガの数。 pg_triggerカタログを参照してください。
relukeysint2 未使用(テーブル上の一意キーの数ではありません)。
relfkeysint2 未使用(テーブル上の外部キーの数ではありません)。
relrefsint2 未使用。
relhasoidsbool  リレーションのそれぞれの行にOIDを生成した場合は真。
relhaspkeybool  テーブルに主キーが含まれている(あるいは一度含まれたことがある)場合に真。
relhasrulesbool もしテーブルにルールがある場合に真。 pg_rewriteカタログを参照してください。
relhassubclassbool もしテーブルが子テーブルに継承されている(または以前に継承されていた)場合は真。
relfrozenxidxid この値より以前のトランザクションIDはすべて、このテーブルで永遠("凍結")トランザクションIDに置き換えられます。 これは、このテーブルに対して、トランザクションID周回を防ぎ、かつ、pg_clogを縮小させることを目的としたバキュームを行うかどうかを追跡するために使用されます。 リレーションがテーブルではない場合は0(InvalidTransactionId)です。
relaclaclitem[]  アクセス許可権限。詳細はGRANTREVOKEの説明を参照してください。
reloptionstext[] "keyword=value"文字列のような、アクセスメソッド特有のオプション。