41.12. pg_database

pg_database 資料表儲存關於可用資料庫的訊息。 資料庫是用 CREATE DATABASE建立的。 參考 Chapter 18 獲取一些參數的詳細含義。

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

Table 41-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 重疊的問題。
dattablespacetextpg_tablespace.oid 該資料庫的預設資料表空間。在這個資料庫裡,所有 pg_class.reltablespace 為零的資料表都將保存在這個資料表空間裡;特別要指出的是,所有非共享的系統資料表也都存放在這裡。
datconfigtext[] 執行時配置變量的會話預設值
dataclaclitem[] 訪問權限,參閱 GRANTREVOKE 獲取詳細描述。