pg_database

pg_database系统目录表储存了可用数据库的信息。数据库由SQL命令CREATE DATABASE创建。和大多数系统目录不同,pg_database在系统中所有数据库之间共享。每个系统只有一个pg_database副本,而不是每个数据库一个。

表 1. pg_catalog.pg_database
类型参考描述
datnamename 数据库名称。
datdbaoidpg_authid.oid数据库的拥有者,通常是创建它的人。
encodingint4 数据库的字符编码。 pg_encoding_to_char()可以将此编号转换为编码名称。
datistemplateboolean 如果为真则这个数据库可以被用在CREATE DATABASETEMPLATE子句中来创建一个新的数据库作为这个数据库的克隆体。
datallowconnboolean 如果为假,则该数据库不可连接。这用于保护数据库template0不被修改。
datconnlimitint4 设置该数据库最大并发连接数。-1表示没有限制。
datlastsysoidoid 数据库中的最后一个系统OID。
datfrozenxidxid 这个数据库中在此之前的所有事务ID已被替换为的永久(冻结)事务ID。这用于追踪该数据库是否需要清理,以防止事务ID回卷或允许pg_clog收缩,它是每个表的pg_class.relfrozenxid的最小值。
dattablespaceoidpg_tablespace.oid数据库的默认表空间。在此数据库中,所有pg_class.reltablespace 为0的表都将存储在此表空间中。所有非共享的系统目录也将放在那里。
datconfigtext[] 用户可设置的服务器配置参数的会话默认值。
dataclaclitem[] GRANTREVOKE所给予的数据库访问特权。

上级话题: 系统目录定义