支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:devel
不支持的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

51.15. pg_database #

目录 pg_database 存储有关可用数据库的信息。数据库使用 CREATE DATABASE 命令创建。有关某些参数的含义的详细信息,请参阅 第 22 章

与大多数系统目录不同,pg_database 在集群的所有数据库之间共享:每个集群只有一个 pg_database 的副本,而不是每个数据库一个副本。

表 51.15. pg_database

列 类型

描述

oid oid

行标识符

datname name

数据库名称

datdba oid(引用 pg_authid.oid

数据库的所有者,通常是创建它的用户

encoding int4

此数据库的字符编码(pg_encoding_to_char() 可以将此数字转换为编码名称)

datlocprovider char

此数据库的区域设置提供程序:b = 内置,c = libc,i = icu

datistemplate bool

如果为 true,则任何具有 CREATEDB 权限的用户都可以克隆此数据库;如果为 false,则只有超级用户或数据库的所有者可以克隆它。

datallowconn bool

如果为 false,则没有人可以连接到此数据库。这用于保护 template0 数据库不被修改。

dathasloginevt bool

指示此数据库定义了登录事件触发器。此标志用于避免在每个后端启动期间在 pg_event_trigger 表上进行额外的查找。此标志由 PostgreSQL 内部使用,不应手动修改或读取以进行监控。

datconnlimit int4

设置可以连接到此数据库的最大并发连接数。-1 表示无限制,-2 表示数据库无效。

datfrozenxid xid

在此数据库中,此事务 ID 之前的所有事务 ID 都已替换为永久(冻结)事务 ID。这用于跟踪是否需要对数据库进行清理以防止事务 ID 回绕或允许缩小 pg_xact。它是每个表 pg_class.relfrozenxid 值的最小值。

datminmxid xid

在此数据库中,此多事务 ID 之前的所有多事务 ID 都已替换为事务 ID。这用于跟踪是否需要对数据库进行清理以防止多事务 ID 回绕或允许缩小 pg_multixact。它是每个表 pg_class.relminmxid 值的最小值。

dattablespace oid(引用 pg_tablespace.oid

数据库的默认表空间。在此数据库中,pg_class.reltablespace 为零的所有表都将存储在此表空间中;特别是,所有非共享系统目录都将在此处。

datcollate text

此数据库的 LC_COLLATE

datctype text

此数据库的 LC_CTYPE

datlocale text

此数据库的排序规则提供程序区域设置名称。如果提供程序是 libc,则 datlocaleNULL;将改用 datcollatedatctype

daticurules text

此数据库的 ICU 排序规则规则

datcollversion text

排序规则的特定于提供程序的版本。这在创建数据库时记录,然后在使用数据库时检查,以检测可能导致数据损坏的排序规则定义更改。

datacl aclitem[]

访问权限;有关详细信息,请参阅 第 5.8 节


提交更正

如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。