33.6. attributes

attributesビューには、データベース内で定義された複合データ型の属性に関する情報が含まれます。 (このビューが、PostgreSQLコンテキスト内でよく呼び出される属性である、テーブル列に関する情報を持たない点に注意してください。)

表 33-4. attributesの列

名前データ型説明
udt_catalogsql_identifierデータ型を含むデータベースの名前です。(常に現在のデータベースです。)
udt_schemasql_identifierデータ型を含むスキーマの名前です。
udt_namesql_identifierデータ型の名前です。
attribute_namesql_identifier属性の名前です。
ordinal_positioncardinal_numberデータ型の属性の序数位置です。(1から始まります。)
attribute_defaultcharacter_data属性のデフォルト式です。
is_nullablecharacter_data属性がNULLを持つことができる場合はYES、さもなくばNOです。
data_typecharacter_data属性のデータ型が組み込み型の場合、そのデータ型です。 何らかの配列の場合、ARRAYです。 (この場合、element_typesビューを参照してください。) さもなくば、USER-DEFINEDです。 (この場合、型はattribute_udt_nameと関連する列により識別されます。)
character_maximum_lengthcardinal_numberdata_typeが文字列またはビット列を識別する場合、その宣言された最大長です。 他のデータ型または最大長が宣言されていない場合はNULLです。
character_octet_lengthcardinal_numberdata_typeが文字列を識別する場合、オクテット(バイト)単位で表したデータの最大長です。 (これはPostgreSQLユーザにとっては意味がないはずです。) 他のデータ型ではNULLです。
numeric_precisioncardinal_numberdata_typeが数値型を識別する場合、この列は属性の型の(宣言された、あるいは暗黙的な)精度です。 この精度は有効桁を意味します。 numeric_precision_radix列の指定に従って、(10を基とした)10進数、または(2を基とした)2進数表記で表現されます。 他のデータ型ではこの列はNULLです。
numeric_precision_radixcardinal_numberdata_typeが数値型を識別する場合、この列は、numeric_precisionおよびnumeric_scaleで表現される値の基が何かを識別します。 この値は2または10です。 他のデータ型ではこの列はNULLです。
numeric_scalecardinal_numberdata_typeが数値型を識別する場合、この列は、属性の型の(宣言された、あるいは暗黙的な)位取りが含まれます。 位取り少数点以下の有効桁数を意味します。 numeric_precision_radix列の指定に従って、(10を基とした)10進数、または(2を基とした)2進数表記で表現されます。 他のデータ型ではこの列はNULLです。
datetime_precisioncardinal_numberdata_typeが日付、時刻、タイムスタンプ、または間隔型を示す場合、この列は(宣言されたか暗黙的な)この属性に対する分数秒精度を包含します。つまり、2番目の値の小数点に続く保存された小数点桁数です。他の全ての型に対してこの列はNULLです。
interval_typecharacter_data未実装です。
interval_precisioncharacter_data未実装です。
attribute_udt_catalogsql_identifier属性のデータ型が定義されたデータベースの名前です。 (常に現在のデータベースです。)
attribute_udt_schemasql_identifier属性のデータ型が定義されたスキーマの名前です。
attribute_udt_namesql_identifier属性のデータ型の名前です。
scope_catalogsql_identifierPostgreSQLで利用できない機能に適用されるものです。
scope_schemasql_identifierPostgreSQLで利用できない機能に適用されるものです。
scope_namesql_identifierPostgreSQLで利用できない機能に適用されるものです。
maximum_cardinalitycardinal_number常にNULLです。PostgreSQLでは配列の次数は無制限だからです。
dtd_identifiersql_identifier列のデータ型記述子の、テーブルに属するデータ型記述子内で一意な識別子です。 この識別子のインスタンスを結合する時に、主に有用です (識別子の書式仕様は定義されておらず、今後のバージョンで同一性を維持する保証もありません)。
is_derived_reference_attributecharacter_dataPostgreSQLで利用できない機能に適用されるものです。

後述の項33.12も参照してください。 ビューの構造が似ていますし、一部の列では更なる情報も記載されています。