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

PolarDB:pg_attribute

最終更新日:May 30, 2024

カタログpg_attributeには、テーブル列に関する情報が格納されます。 データベース内のすべてのテーブルのすべての列にpg_attributeの行が1つだけあります。 (インデックスの属性エントリもあり、実際にはpg_classエントリを持つすべてのオブジェクトもあります。)

データ型

説明

attrelid

oid

この列が属するテーブル。

attname

name

列名

atttypid

oid

この列のデータ型 (削除された列の場合はゼロ) 。

attstattarget

int4

attstattargetは、ANALYZEによってこの列に対して蓄積された統計の詳細レベルを制御します。 ゼロ値は、統計が収集されるべきでないことを示す。 負の値は、システムのデフォルト統計ターゲットを使用することを示します。 正の値の正確な意味はデータ型に依存します。 スカラーデータ型の場合、attstattargetは、収集する「最も一般的な値」のターゲット数と、作成するヒストグラムビンのターゲット数の両方です。

attlen

int2

この列の型のpg_type.typlenのコピー。

attnum

int2

列の番号。 通常の列には1から番号が付けられます。 ctidなどのシステム列には、(任意の) 負の数があります。

attndims

int4

次元の数 (列が配列型の場合) 。それ以外の場合は0。 (現在、配列の次元数は強制されていないため、ゼロ以外の値は事実上「配列」を意味します。)

attcacheoff

int4

ストレージでは常に-1ですが、メモリ内の行記述子にロードされると、行内の属性のオフセットをキャッシュするように更新されます。

atttypmod

int4

atttypmodは、テーブル作成時に提供されるタイプ固有のデータ (たとえば、varchar列の最大長) を記録します。 タイプ固有の入力関数と長さ強制関数に渡されます。 値は通常、atttypmodを必要としない型の場合は-1になります。

attbyval

bool

この列の型のpg_type.typbyvalのコピー。

attstorage

char

通常、この列の型のpg_type.typstorageのコピー。 TOAST対応のデータ型の場合、これは列の作成後に変更して、ストレージポリシーを制御できます。

attalign

char

この列の型のpg_type.typalignのコピー。

attnotnull

bool

これは、ヌルでない制約を表す。

atthasdef

bool

この列にはデフォルトの式または生成式があります。この場合、実際に式を定義するpg_attrdefカタログに対応するエントリがあります。 (attgeneratedをチェックして、これがデフォルト式か生成式かを判断します。)

atthasmissing

bool

この列には、行が作成された後に列に不揮発性のDEFAULT値が追加された場合に発生するように、列が行から完全に欠落している場合に使用される値があります。 使用される実際の値は、attmissingval列に格納されます。

attidentity

char

ゼロバイト ('') の場合、ID列ではありません。 それ以外の場合、a =常に生成され、d =デフォルトで生成されます。

attgenerated

char

0バイト ('') の場合、生成された列ではありません。 それ以外の場合、s= stored。 (その他の値は将来追加される可能性があります。)

attisdropped

bool

この列は削除され、無効になりました。 削除された列はテーブルに物理的に存在しますが、パーサーによって無視されるため、SQLを介してアクセスすることはできません。

attislocal

bool

この列はリレーションでローカルに定義されます。 列はローカルで定義し、同時に継承することができます。

attinhcount

int4

この列にある直接の祖先の数。 祖先の数がゼロ以外の列は削除できません。

attcollation

oid

列の照合順序を定義します。列が照合可能なデータ型でない場合はゼロです。

attacl

aclitem[]

列レベルのアクセス権 (この列に特定の権限が付与されている場合) 。

attoptions

text[]

属性レベルのオプション (「キーワード=値」文字列) 。

attfdwoptions

text[]

属性レベルの外部データラッパーオプション (「キーワード=値」文字列) 。

attmissingval

anyarray

この列には、行の作成後に列に不揮発性のDEFAULT値が追加された場合に発生するように、列が行から完全に欠落している場合に使用される値を含む1要素配列があります。 この値は、atthasmissingがtrueの場合にのみ使用されます。 値がない場合、列はnullです。

削除された列のpg_attributeエントリでは、atttypidはゼロにリセットされますが、attlenpg_typeからコピーされた他のフィールドは引き続き有効です。 この配置は、削除された列のデータ型が後で削除され、pg_typeの行がもう存在しない状況に対処するために必要です。attlenおよびその他のフィールドを使用して、テーブルの行の内容を解釈できます。