columns
#檢視 columns
包含資料庫中所有表(或檢視)的列資訊。系統列(ctid
等)不包含在內。僅顯示當前使用者有權訪問的列(透過成為所有者或擁有某些許可權)。
表 35.15. columns
列
列 型別 描述 |
---|
包含表的資料庫名稱(始終為當前資料庫) |
包含表的模式名稱 |
表的名稱 |
列的名稱 |
列在表中的序號(計數從 1 開始) |
列的預設表示式 |
如果列可能可為空,則為 |
列的資料型別,如果是內建型別,或者 |
如果 |
如果 |
如果 |
如果 |
如果 |
如果 |
如果 |
適用於 PostgreSQL 中不可用的功能(請參閱 |
PostgreSQL 中不適用的功能 |
PostgreSQL 中不適用的功能 |
PostgreSQL 中不適用的功能 |
包含列排序規則的資料庫名稱(始終為當前資料庫),如果為預設值或列資料型別不可排序,則為 null |
包含列排序規則的模式名稱,如果為預設值或列資料型別不可排序,則為 null |
列的排序規則名稱,如果為預設值或列資料型別不可排序,則為 null |
如果列具有領域型別,則定義該領域的資料庫名稱(始終為當前資料庫),否則為 null。 |
如果列具有領域型別,則定義該領域的模式名稱,否則為 null。 |
如果列具有領域型別,則領域名稱,否則為 null。 |
定義列資料型別(如果適用,則為領域的底層型別)的資料庫名稱(始終為當前資料庫) |
定義列資料型別(如果適用,則為領域的底層型別)的模式名稱 |
列資料型別名稱(如果適用,則為領域的底層型別) |
PostgreSQL 中不適用的功能 |
PostgreSQL 中不適用的功能 |
PostgreSQL 中不適用的功能 |
始終為 null,因為 PostgreSQL 中的陣列始終具有無限的最大基數 |
列資料型別描述符的識別符號,在與該表相關的資料型別描述符中唯一。這主要用於與其他此類識別符號的例項連線。(識別符號的具體格式未定義,並且不能保證在未來版本中保持不變。) |
PostgreSQL 中不適用的功能 |
如果列是標識列,則為 |
如果列是標識列,則為 |
如果列是標識列,則為內部序列的起始值,否則為 null。 |
如果列是標識列,則為內部序列的增量,否則為 null。 |
如果列是標識列,則為內部序列的最大值,否則為 null。 |
如果列是標識列,則為內部序列的最小值,否則為 null。 |
如果列是標識列,則內部序列迴圈為 |
如果列是生成列,則為 |
如果列是生成列,則為生成表示式,否則為 null。 |
如果列可更新,則為 |
由於 SQL 中定義資料型別的方式多種多樣,並且 PostgreSQL 包含額外的定義資料型別的方式,因此它們在資訊模式中的表示可能有些困難。列 data_type
用於標識列的底層內建型別。在 PostgreSQL 中,這意味著該型別在系統目錄模式 pg_catalog
中定義。如果應用程式可以特殊處理已知內建型別(例如,以不同的方式格式化數值型別或使用精度列中的資料),則此列可能很有用。udt_name
、udt_schema
和 udt_catalog
列始終標識列的底層資料型別,即使列基於領域也是如此。(由於 PostgreSQL 將內建型別視為使用者定義型別,因此內建型別也在此處顯示。這是對 SQL 標準的擴充套件。)如果應用程式想根據型別以不同方式處理資料,則應使用這些列,因為在這種情況下,列是否基於領域並不重要。如果列基於領域,則領域標識儲存在 domain_name
、domain_schema
和 domain_catalog
列中。如果要將列與其關聯資料型別配對並將領域視為獨立型別,則可以編寫 coalesce(domain_name, udt_name)
等。
如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。