2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

35.6. attributes #

檢視 attributes 包含有關資料庫中定義的複合資料型別的屬性的資訊。(請注意,此檢視不提供有關表列的資訊,表列有時在 PostgreSQL 上下文中也稱為屬性。)僅顯示當前使用者有權訪問的屬性(透過擁有該型別或對該型別具有某些許可權)。

表 35.4. attributes

列 型別

描述

udt_catalog sql_identifier

包含該資料型別的資料庫的名稱(始終是當前資料庫)

udt_schema sql_identifier

包含該資料型別的模式的名稱

udt_name sql_identifier

資料型別的名稱

attribute_name sql_identifier

屬性的名稱

ordinal_position cardinal_number

屬性在資料型別內的序數位置(計數從 1 開始)

attribute_default character_data

屬性的預設表示式

is_nullable yes_or_no

如果屬性可能為空,則為 YES;如果已知不為空,則為 NO

data_type character_data

屬性的資料型別,如果是內建型別,或者 ARRAY 如果是某種陣列(在這種情況下,請參閱檢視 element_types),否則為 USER-DEFINED(在這種情況下,型別在 attribute_udt_name 和相關列中標識)。

character_maximum_length cardinal_number

如果 data_type 標識了字元或位串型別,則為宣告的最大長度;對於所有其他資料型別或未宣告最大長度的情況,則為 NULL。

character_octet_length cardinal_number

如果 data_type 標識了字元型別,則為資料的最大可能長度(以位元組為單位);對於所有其他資料型別,則為 NULL。最大位元組長度取決於宣告的字元最大長度(如上所示)和伺服器編碼。

character_set_catalog sql_identifier

PostgreSQL 中不適用的功能

character_set_schema sql_identifier

PostgreSQL 中不適用的功能

character_set_name sql_identifier

PostgreSQL 中不適用的功能

collation_catalog sql_identifier

包含屬性的排序規則的資料庫的名稱(始終是當前資料庫),如果為預設值或屬性的資料型別不可排序,則為 NULL

collation_schema sql_identifier

包含屬性的排序規則的模式的名稱,如果為預設值或屬性的資料型別不可排序,則為 NULL

collation_name sql_identifier

屬性的排序規則的名稱,如果為預設值或屬性的資料型別不可排序,則為 NULL

numeric_precision cardinal_number

如果 data_type 標識了數字型別,則此列包含該屬性的型別的(宣告的或隱式的)精度。精度表示有效數字的數量。它可以以十進位制(基數 10)或二進位制(基數 2)表示,如 numeric_precision_radix 列中所指定。對於所有其他資料型別,此列為 NULL。

numeric_precision_radix cardinal_number

如果 data_type 標識了數字型別,則此列指示 numeric_precisionnumeric_scale 列中的值是以哪個基數表示的。該值為 2 或 10。對於所有其他資料型別,此列為 NULL。

numeric_scale cardinal_number

如果 data_type 標識了精確數字型別,則此列包含該屬性的型別的(宣告的或隱式的)標度。標度表示小數點右側的有效數字數量。它可以以十進位制(基數 10)或二進位制(基數 2)表示,如 numeric_precision_radix 列中所指定。對於所有其他資料型別,此列為 NULL。

datetime_precision cardinal_number

如果 data_type 標識了日期、時間、時間戳或間隔型別,則此列包含該屬性的型別的(宣告的或隱式的)小數秒精度,即秒值小數點後保留的十進位制數字的數量。對於所有其他資料型別,此列為 NULL。

interval_type character_data

如果 data_type 標識了間隔型別,則此列包含間隔包含的欄位的說明,例如 YEAR TO MONTHDAY TO SECOND 等。如果未指定欄位限制(即,間隔接受所有欄位),並且對於所有其他資料型別,此欄位為 NULL。

interval_precision cardinal_number

適用於 PostgreSQL 中不提供的功能(請參閱 datetime_precision 以瞭解間隔型別屬性的小數秒精度)

attribute_udt_catalog sql_identifier

定義屬性資料型別的資料庫的名稱(始終是當前資料庫)

attribute_udt_schema sql_identifier

定義屬性資料型別的模式的名稱

attribute_udt_name sql_identifier

屬性資料型別的名稱

scope_catalog sql_identifier

PostgreSQL 中不適用的功能

scope_schema sql_identifier

PostgreSQL 中不適用的功能

scope_name sql_identifier

PostgreSQL 中不適用的功能

maximum_cardinality cardinal_number

始終為 null,因為 PostgreSQL 中的陣列始終具有無限的最大基數

dtd_identifier sql_identifier

屬性資料型別描述符的識別符號,在屬於複合型別的描述符中是唯一的。這主要用於與其他此類識別符號例項進行連線。(識別符號的具體格式未定義,也不保證在未來版本中保持不變。)

is_derived_reference_attribute yes_or_no

PostgreSQL 中不適用的功能


有關某些列的更多資訊,請參閱結構類似的檢視 35.17 節

提交更正

如果您在文件中看到任何不正確的內容、與您對特定功能的體驗不符的內容或需要進一步澄清的內容,請使用 此表單 報告文件問題。