2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 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

52.15. pg_database #

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

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

表 52.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。这用于跟踪是否需要对数据库进行 vacuum 操作以防止事务 ID 环绕或允许收缩 pg_xact。它是每张表 pg_class.relfrozenxid 值的最小值。

datminmxid xid

在此数据库中,早于此 ID 的所有多事务 ID 都已被替换为事务 ID。这用于跟踪是否需要对数据库进行 vacuum 操作以防止多事务 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 节


提交更正

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