カタログpg_attributeには、テーブル列に関する情報が格納されます。 データベース内のすべてのテーブルのすべての列にpg_attributeの行が1つだけあります。 (インデックスの属性エントリもあり、実際にはpg_classエントリを持つすべてのオブジェクトもあります。)
列 | データ型 | 説明 |
|
| この列が属するテーブル。 |
|
| 列名 |
|
| この列のデータ型 (削除された列の場合はゼロ) 。 |
|
|
|
|
| この列の型の |
|
| 列の番号。 通常の列には1から番号が付けられます。 |
|
| 次元の数 (列が配列型の場合) 。それ以外の場合は0。 (現在、配列の次元数は強制されていないため、ゼロ以外の値は事実上「配列」を意味します。) |
|
| ストレージでは常に-1ですが、メモリ内の行記述子にロードされると、行内の属性のオフセットをキャッシュするように更新されます。 |
|
|
|
|
| この列の型の |
|
| 通常、この列の型の |
|
| この列の型の |
|
| これは、ヌルでない制約を表す。 |
|
| この列にはデフォルトの式または生成式があります。この場合、実際に式を定義する |
|
| この列には、行が作成された後に列に不揮発性の |
|
| ゼロバイト ( |
|
| 0バイト ( |
|
| この列は削除され、無効になりました。 削除された列はテーブルに物理的に存在しますが、パーサーによって無視されるため、SQLを介してアクセスすることはできません。 |
|
| この列はリレーションでローカルに定義されます。 列はローカルで定義し、同時に継承することができます。 |
|
| この列にある直接の祖先の数。 祖先の数がゼロ以外の列は削除できません。 |
|
| 列の照合順序を定義します。列が照合可能なデータ型でない場合はゼロです。 |
|
| 列レベルのアクセス権 (この列に特定の権限が付与されている場合) 。 |
|
| 属性レベルのオプション (「キーワード=値」文字列) 。 |
|
| 属性レベルの外部データラッパーオプション (「キーワード=値」文字列) 。 |
|
| この列には、行の作成後に列に不揮発性の |
削除された列のpg_attributeエントリでは、atttypidはゼロにリセットされますが、attlenとpg_typeからコピーされた他のフィールドは引き続き有効です。 この配置は、削除された列のデータ型が後で削除され、pg_typeの行がもう存在しない状況に対処するために必要です。attlenおよびその他のフィールドを使用して、テーブルの行の内容を解釈できます。