Postgresql 中文操作指南

53.15. pg_database #

目录 pg_database 存储有关可用数据库的信息。可使用 CREATE DATABASE 命令创建数据库。参阅 Chapter 23 以了解有关某些参数含义的详细信息。

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

Table 53.15. pg_database Columns

Column Type

Description

oid oid

Row identifier

datname name

Database name

datdba oid (参考 pg_authid . oid ) 数据库所有者,通常是创建数据库的用户

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

datlocprovider char 该数据库的语言环境提供程序: c = libc, i = icu

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

datallowconn bool 如果为假,则没有人可以连接到该数据库。这用于保护 template0 数据库免遭更改。

datconnlimit int4 设置与此数据库的最大并发连接数。-1 表示没有限制,-2 表示数据库无效。

datfrozenxid xid 该数据库中在此之前的全部事务 ID 已用永久(“已冻结”)事务 ID 替换。这用于跟踪数据库是否需要进行清理以防止事务 ID 环绕或允许 pg_xact 缩小。它是每个表 pg_class . relfrozenxid 值的最小值。

datminmxid xid 该数据库中在此之前的全部多事务 ID 已用事务 ID 替换。这用于跟踪数据库是否需要进行清理以防止多事务 ID 环绕或允许 pg_multixact 缩小。它是每个表 pg_class . relminmxid 值的最小值。

dattablespace oid (参考 pg_tablespace . oid ) 数据库的默认表空间。在此数据库中, pg_class . reltablespace 为零的所有表都将存储在此表空间中;特别是,所有非共享系统目录都将存储在这里。

datcollate text 此数据库的 LC_COLLATE

datctype text 此数据库的 LC_CTYPE

daticulocale text 此数据库的 ICU 语言环境 ID

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

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

datacl aclitem[] 访问权限;请参阅 Section 5.7 了解详细信息