★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

34.6. attributes

attributesビューには、データベース内で定義された複合データ型の属性に関する情報が含まれます。 (このビューが、PostgreSQLコンテキスト内でよく呼び出される属性である、テーブル列に関する情報を持たない点に注意してください。) 現在のユーザが(所有者であるかまたは複合データ型に対する権限を持っていて)アクセスする権限を持つ属性のみが表示されます。

表34.4 attributesの列

名前データ型説明
udt_catalogsql_identifierデータ型を含むデータベースの名前です(常に現在のデータベースです)。
udt_schemasql_identifierデータ型を含むスキーマの名前です。
udt_namesql_identifierデータ型の名前です。
attribute_namesql_identifier属性の名前です。
ordinal_positioncardinal_numberデータ型の属性の序数位置です(1から始まります)。
attribute_defaultcharacter_data属性のデフォルト式です。
is_nullableyes_or_no属性が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が文字列を識別する場合、オクテット(バイト)単位で表したデータの最大長です。 他のデータ型ではNULLです。 最大オクテット長は宣言された文字最大長(上述)とサーバ符号化方式に依存します。
character_set_catalogsql_identifierPostgreSQLでは利用できない機能に適用されるものです。
character_set_schemasql_identifierPostgreSQLでは利用できない機能に適用されるものです。
character_set_namesql_identifierPostgreSQLでは利用できない機能に適用されるものです。
collation_catalogsql_identifier属性の照合を含むデータベース(常に現在のデータベース)の名前で、デフォルトであるか属性のデータ型が照合可能でない場合はNULLです。
collation_schemasql_identifier属性の照合を含むスキーマの名前で、デフォルトであるか属性のデータ型が照合可能でない場合はNULLです。
collation_namesql_identifier属性の照合の名前で、デフォルトであるか属性のデータ型が照合可能でない場合は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が日付、時刻、タイムスタンプ、または間隔型を示す場合、この列は(宣言されたか暗黙的な)この属性に対する分数秒精度を包含します。 つまり、秒の値の小数点に続く保存された10進桁数です。 他の全ての型に対してこの列はNULLです。
interval_typecharacter_dataもしdata_typeが時間間隔型を示す場合、この列はこの属性の時間間隔値がどのフィールドを含むかの仕様を含みます。例えば、YEAR TO MONTHDAY TO SECONDなどです。 もしフィールド制約が指定されていない(時間間隔が全てのフィールドを受け付ける)場合や、他の全てのデータ型の場合はこのフィールドはNULLです。
interval_precisioncardinal_numberPostgreSQLで利用できない機能に適用されるものです。(インターバル型の属性の秒未満の精度についてはdatetime_precisionを参照してください)
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_attributeyes_or_noPostgreSQLで利用できない機能に適用されるものです。

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