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