2024年9月26日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本: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

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

datallowconn bool

如果为假,则没有人可以连接到此数据库。这用于保护 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 节


提交更正

如果您在文档中发现任何错误,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。