カタログpg_classは、列を持つテーブルやその他のオブジェクトを記述します。 これには、インデックス (pg_indexも参照) 、シーケンス (pg_sequenceも参照) 、ビュー、マテリアライズドビュー、複合型、およびTOASTテーブルが含まれます。relkindを参照してください。 以下では、これらすべての種類のオブジェクトを意味するとき、「関係」について話します。 pg_classの列のすべてがすべてのリレーションの種類に意味があるわけではありません。
列 | データ型 | 説明 |
|
| 行識別子。 |
|
| テーブル、インデックス、ビューなどの名前。 |
|
| このリレーションを含む名前空間のOID。 |
|
| このテーブルの行型に対応するデータ型のOID (存在する場合) 。インデックス、シーケンス、およびトーストテーブルの場合はゼロで、 |
|
| 型付きテーブルの場合、基になる複合型のOID。他のすべての関係についてはゼロ。 |
|
| リレーションの所有者。 |
|
| これがテーブルまたはインデックスの場合、アクセス方法が使用されます (ヒープ、Bツリー、ハッシュなど) 。それ以外の場合はゼロ (シーケンス、およびビューなどのストレージのない関係ではゼロが発生します) 。 |
|
| この関係のオンディスクファイルの名前。ゼロは、これが、ディスクファイル名が低レベル状態によって決定される「マップされた」関係であることを意味する。 |
|
| このリレーションが格納されるテーブルスペース。 ゼロの場合、データベースのデフォルトの表領域が含まれます。 (関係にディスク上のファイルがない場合は意味がありません。) |
|
| ページ単位のこのテーブルのディスク上の表現のサイズ (サイズBLCKSZ) 。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。 |
|
| テーブル内のライブ行の数。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。 テーブルがまだ真空引きまたは分析されていない場合、リタプルは、行カウントが不明であることを示す − 1を含む。 |
|
| テーブルの表示マップですべて表示とマークされているページの数。 これはプランナーが使用する見積もりにすぎません。 VACUUM、ANALYZE、およびCREATE INDEXなどのいくつかのDDLコマンドによって更新されます。 |
|
| このテーブルに関連付けられたTOASTテーブルのOID。 TOASTテーブルは、セカンダリテーブルに大きな属性「out of line」を格納します。 |
|
| これがテーブルであり、インデックスがある (または最近ある) 場合はTrueです。 |
|
| このテーブルがクラスター内のすべてのデータベースで共有されている場合はTrue。 特定のシステムカタログ ( |
|
|
|
|
|
|
|
| リレーション内のユーザー列の数 (システム列はカウントされません) 。 pg_attributeにはこの多くの対応するエントリが必要です。 |
|
| テーブルのCHECK制約の数。 |
|
| テーブルにルールがある (またはルールがあった) 場合はTrue。 |
|
| テーブルにトリガーがある (またはトリガーがあった) 場合はTrue。 |
|
| テーブルまたはインデックスに継承子がある (またはあった) 場合はTrue。 |
|
| テーブルの行レベルのセキュリティが有効になっている場合はTrue。 |
|
| 行レベルのセキュリティ (有効) がテーブル所有者にも適用される場合はTrue。 |
|
| リレーションが設定されている場合はTrueです (これは、一部のマテリアライズドビュー以外のすべてのリレーションに当てはまります) 。 |
|
| 行の「レプリカID」を形成するために使用される列: |
|
| テーブルまたはインデックスがパーティションの場合はTrue。 |
|
| テーブルの書き換えを必要とするDDL動作中に書き込まれる新しいリレーションの場合、これは元のリレーションのOIDを含み、そうでない場合はゼロを含む。 この状態は内部でのみ表示されます。このフィールドには、ユーザーが表示できる関係についてゼロ以外のものを含めることはできません。 |
|
| これより前のすべてのトランザクションIDは、このテーブルで永続的な (「凍結された」) トランザクションIDに置き換えられています。 これは、トランザクションIDのラップアラウンドを防ぐために、または |
|
| この表では、この前のすべてのmultixact IDがトランザクションIDに置き換えられています。 これは、multixact IDのラップアラウンドを防ぐために、または |
|
| アクセス権。 |
|
| アクセス-メソッド固有のオプション (「キーワード=値」文字列) 。 |
|
| tableがパーティション ( |
pg_classのブールフラグのいくつかは、遅延的に維持されます。正しい状態であればtrueであることが保証されますが、条件が真でなくなったときにすぐにfalseにリセットされることはありません。 たとえば、relhasindexはCREATE INDEXによって設定されますが、DROP INDEXによってクリアされることはありません。 代わりに、テーブルにインデックスがないことが判明した場合、VACUUMはrelhasindexをクリアします。 この構成は、競合状態を回避し、並行性を改善する。