43.12. pg_database

pg_database 表存儲關于可用數據庫的信息。 數據庫是用 CREATE DATABASE創建的。 參考 Chapter 18 獲取一些參數的詳細含義。

和大多數系統表不同,pg_database 是在一個集群裡的所有數據庫共享的︰每個集群只有一份 pg_database 拷貝,而不是每個數據庫一份。

Table 43-12. pg_database 字段

名字類型引用描述
datnamename 數據庫名字
datdbaint4pg_shadow.usesysid數據庫所有人,通常為其創建者
encodingint4 數據庫的字符編碼方式
datistemplatebool  如果為真則此數據庫可以用于CREATE DATABASE TEMPLATE子句,把新數據庫創建為此數據庫的克隆。
datallowconnbool  如果為假則沒有人可以聯接到這個數據庫。這個字段用于保護 template0 數據庫不被更改。
datlastsysoidoid  數據庫裡最後一個系統 OID; 對 pg_dump 特別有用
datvacuumxidxid  在該數據庫中這個標志標記為在"已知已提交"或者"已知已退出" 之前,所有元組都以事務 ID 插入或刪除。這個標志用于判斷何時 提交日志空間可以循環使用。
datfrozenxidxid  在該數據庫中這個標志標記為一個永久的 ("凍結(frozen)")的事務 ID 之前, 所有元組都以事務 ID 插入。 該標志可以用于檢查一個數據庫是否應該馬上清理以避免事務 ID 重疊的問題。
datpathtext  如果該數據庫存放在另外一個位置,那麼這個字段記錄該位置。 它要麼是一個環境變量名要麼是一個絕對路徑,取決于它是如何輸入的。
datconfigtext[] 運行時配置變量的會話缺省值
dataclaclitem[] 訪問權限