32.15. domains

視圖 domains 包含定義在當前數據庫中的所有域。

Table 32-13. domains 字段

名字數據類型描述
domain_catalogsql_identifier包含這個域的數據庫名字(總是當前數據庫)
domain_schemasql_identifier包含這個域的模式名字
domain_namesql_identifier域的名字
data_typecharacter_data 如果這是一個內置類型,就是域的數據類型,如果他是某種數組(這時, 參閱視圖 element_types),就是 ARRAY。 否則是 USER-DEFINED(這個時候,類型在 udt_name 和相關的字段裡面標識。)
character_maximum_lengthcardinal_number 如果域是一個字符或者位串類型,這是定義的最大長度,其它數據類型 或者沒有聲明最大長度,則為空。
character_octet_lengthcardinal_number 如果域有一個字符類型,這是最大可能的字節長度(這些應該不是 PostgreSQL 用戶要擔心的事情); 其它類型都是空。
character_set_catalogsql_identifier適用于一個 PostgreSQL 裡沒有的特性
character_set_schemasql_identifier適用于一個 PostgreSQL 裡沒有的特性
character_set_namesql_identifier適用于一個 PostgreSQL 裡沒有的特性
collation_catalogsql_identifier適用于一個 PostgreSQL 裡沒有的特性
collation_schemasql_identifier適用于一個 PostgreSQL 裡沒有的特性
collation_namesql_identifier適用于一個 PostgreSQL 裡沒有的特性
numeric_precisioncardinal_number 如果這個域有一個數值類型,那麼這個字段包含(聲明的或隱含的) 用于這個字段的類型精度。精度表示有效數據位的個數。可以用十進制 表示,也可以用二進制表示,就想在 numeric_precision_radix 字段裡聲明的那樣。對于所有其它類型,這個字段是空。
numeric_precision_radixcardinal_number 如果這個域有一個數值類型,那麼這個字段標識numeric_precisionnumeric_scale 字段的數值的基數是多少。數值 要麼是 2 要麼是 10。對于所有其它數據類型,這個字段是空。
numeric_scalecardinal_number 如果這個域有一個準確的數值類型,那麼這個字段包含(聲明或者隱含的) 本字段該類型的比例。比例標志著小數點右邊的有效位數。它可以是用 十進制表示,也可以用二進制表示,就像在 numeric_precision_radix 字段裡聲明的那樣。對于所有其它數據類型,這個字段是空。
datetime_precisioncardinal_number 如果該域是一個日期,時間或者時間間隔類型,那麼就是聲明的精度; 對于其它數據類型或者沒有聲明精度,那麼為空。
interval_typecharacter_data未實現
interval_precisioncharacter_data未實現
domain_defaultcharacter_data這個域的缺省表達式
udt_catalogsql_identifier域數據類型定義所在的數據庫名字(總是當前數據庫)
udt_schemasql_identifier域數據類型定義所在的模式名字
udt_namesql_identifier域數據類型名字
scope_catalogsql_identifier適用于一個 PostgreSQL 裡沒有的特性
scope_schemasql_identifier適用于一個 PostgreSQL 裡沒有的特性
scope_namesql_identifier適用于一個 PostgreSQL 裡沒有的特性
maximum_cardinalitycardinal_number總是為空,因為 PostgreSQL 的數組總是有無限的維數
dtd_identifiersql_identifier 一個該域的數據類型描述符的標識符,在屬于該域的所有數據類型描述符 中是唯一的(這個是瑣事,因為一個域只包含一種數據類型)。這個主要 用于和其它這樣的標識符實例連接。(這個標識符的具體格式沒有定義, 並且不保證在將來版本中保持一致。)