すべてのプロダクト
Search
ドキュメントセンター

PolarDB:pg_class

最終更新日:May 30, 2024

カタログpg_classは、列を持つテーブルやその他のオブジェクトを記述します。 これには、インデックス (pg_indexも参照) 、シーケンス (pg_sequenceも参照) 、ビュー、マテリアライズドビュー、複合型、およびTOASTテーブルが含まれます。relkindを参照してください。 以下では、これらすべての種類のオブジェクトを意味するとき、「関係」について話します。 pg_classの列のすべてがすべてのリレーションの種類に意味があるわけではありません。

データ型

説明

oid

oid

行識別子。

relname

name

テーブル、インデックス、ビューなどの名前。

relnamespace

oid

このリレーションを含む名前空間のOID。

reltype

oid

このテーブルの行型に対応するデータ型のOID (存在する場合) 。インデックス、シーケンス、およびトーストテーブルの場合はゼロで、pg_typeエントリがありません。

reloftype

oid

型付きテーブルの場合、基になる複合型のOID。他のすべての関係についてはゼロ。

relowner

oid

リレーションの所有者。

relam

oid

これがテーブルまたはインデックスの場合、アクセス方法が使用されます (ヒープ、Bツリー、ハッシュなど) 。それ以外の場合はゼロ (シーケンス、およびビューなどのストレージのない関係ではゼロが発生します) 。

relfilenode

oid

この関係のオンディスクファイルの名前。ゼロは、これが、ディスクファイル名が低レベル状態によって決定される「マップされた」関係であることを意味する。

reltablespace

oid

このリレーションが格納されるテーブルスペース。 ゼロの場合、データベースのデフォルトの表領域が含まれます。 (関係にディスク上のファイルがない場合は意味がありません。)

relpages

int4

ページ単位のこのテーブルのディスク上の表現のサイズ (サイズBLCKSZ) 。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。

reltuples

float4

テーブル内のライブ行の数。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。 テーブルがまだ真空引きまたは分析されていない場合、リタプルは、行カウントが不明であることを示す − 1を含む。

reallvisible

int4

テーブルの表示マップですべて表示とマークされているページの数。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。

reltoastrerid

oid

このテーブルに関連付けられたTOASTテーブルのOID。 TOASTテーブルは、セカンダリテーブルに大きな属性「out of line」を格納します。

relhasindex

bool

これがテーブルであり、インデックスがある (または最近ある) 場合はTrueです。

relisshared

bool

このテーブルがクラスター内のすべてのデータベースで共有されている場合はTrue。 特定のシステムカタログ (pg_databaseなど) のみが共有されます。

relpersistence

char

p =永続テーブル、u =未ログテーブル、t =一時テーブル。

relkind

char

r =通常テーブル、i =インデックス、S =シーケンス、t= TOASTテーブル、v =ビュー、m =マテリアライズドビュー、c =複合タイプ、f =外部テーブル、p =分割テーブル、I =分割インデックス。

relnatts

int2

リレーション内のユーザー列の数 (システム列はカウントされません) 。 pg_attributeにはこの多くの対応するエントリが必要です。

relchecks

int2

テーブルのCHECK制約の数。

relhasrules

bool

テーブルにルールがある (またはルールがあった) 場合はTrue。

relhastriggers

bool

テーブルにトリガーがある (またはトリガーがあった) 場合はTrue。

relhassubclass

bool

テーブルまたはインデックスに継承子がある (またはあった) 場合はTrue。

relrowsecurity

bool

テーブルの行レベルのセキュリティが有効になっている場合はTrue。

relforcerowsecurity

bool

行レベルのセキュリティ (有効) がテーブル所有者にも適用される場合はTrue。

relipopulated

bool

リレーションが設定されている場合はTrueです (これは、一部のマテリアライズドビュー以外のすべてのリレーションに当てはまります) 。

rerereplident

char

行の「レプリカID」を形成するために使用される列: d =デフォルト (プライマリキーがある場合) 、n =なし、f =すべての列、i=非重複セットのインデックス (使用されたインデックスが削除された場合は何もない) 。

relispartition

bool

テーブルまたはインデックスがパーティションの場合はTrue。

relrewrite

oid

テーブルの書き換えを必要とするDDL動作中に書き込まれる新しいリレーションの場合、これは元のリレーションのOIDを含み、そうでない場合はゼロを含む。 この状態は内部でのみ表示されます。このフィールドには、ユーザーが表示できる関係についてゼロ以外のものを含めることはできません。

relfrozenxid

xid

これより前のすべてのトランザクションIDは、このテーブルで永続的な (「凍結された」) トランザクションIDに置き換えられています。 これは、トランザクションIDのラップアラウンドを防ぐために、またはpg_xactを縮小できるようにするために、テーブルをバキュームする必要があるかどうかを追跡するために使用されます。 関係がテーブルでない場合は、ゼロ (InvalidTransactionId) 。

relminmxid

xid

この表では、この前のすべてのmultixact IDがトランザクションIDに置き換えられています。 これは、multixact IDのラップアラウンドを防ぐために、またはpg_multixactを縮小できるようにするために、テーブルをバキュームする必要があるかどうかを追跡するために使用されます。 関係がテーブルでない場合は、ゼロ (InvalidMultiXactId) 。

relacl

aclitem[]

アクセス権。

reloptions

text[]

アクセス-メソッド固有のオプション (「キーワード=値」文字列) 。

relpartbound

pg_node_tree

tableがパーティション (relispartitionを参照) の場合、パーティションの内部表現がバインドされます。

pg_classのブールフラグのいくつかは、遅延的に維持されます。正しい状態であればtrueであることが保証されますが、条件が真でなくなったときにすぐにfalseにリセットされることはありません。 たとえば、relhasindexはCREATE INDEXによって設定されますが、DROP INDEXによってクリアされることはありません。 代わりに、テーブルにインデックスがないことが判明した場合、VACUUMはrelhasindexをクリアします。 この構成は、競合状態を回避し、並行性を改善する。