多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 47.16\. `pg_database` `pg_database`表存储关于可用数据库的信息。数据库是用 [CREATE DATABASE](#calibre_link-111)创建的。参考[Chapter 21](#calibre_link-672) 获取一些参数的详细含义。 和大多数系统表不同,`pg_database`是在一个集群里的所有数据库共享的: 每个集群只有一份`pg_database`拷贝,而不是每个数据库一份。 **Table 47-16\. `pg_database` 字段** | 名字 | 类型 | 引用 | 描述 | | --- | --- | --- | --- | | `oid` | `oid` | 行标识符(隐藏属性; 必须明确选择) | | `datname` | `name` | 数据库名字 | | `datdba` | `oid` | `pg_authid`.oid | 数据库所有人,通常为其创建者 | | `encoding` | `int4` | 数据库的字符编码方式(`pg_encoding_to_char()` 能够将这个数字转换为相应的编码名称) | | `datcollate` | `name` | 这个数据库的LC_COLLATE | | `datctype` | `name` | 这个数据库的LC_CTYPE | | `datistemplate` | `bool` | 如果为真则此数据库可以用于`CREATE DATABASE`的 `TEMPLATE`子句,把新数据库创建为此数据库的克隆。 | | `datallowconn` | `bool` | 如果为假则没有人可以连接到这个数据库。这个字段用于保护`template0`数据库不被更改。 | | `datconnlimit` | `int4` | 设置该数据库上允许的最大并发连接数,-1 表示无限制。 | | `datlastsysoid` | `oid` | 数据库里最后一个系统 OID ;对pg_dump特别有用。 | | `datfrozenxid` | `xid` | 该数据库中中所有在这个之前的事务 ID 已经被一个固定的("frozen") 事务 ID 替换。这用于跟踪该数据库是否需要为了防止事务 ID 重叠或者允许收缩 `pg_clog`而进行清理。它是针对每个表的`pg_class`.`relfrozenxid` 中的最小值。 | | `datminmxid` | `xid` | 该数据库中中所有在这个之前的多事务 ID 已经被一个事务 ID 替换。 这用于跟踪该数据库是否需要为了防止事务 ID 重叠或者允许收缩 `pg_clog`而进行清理。它是针对每个表的`pg_class`.`relfrozenxid` 中的最小值。 | | `dattablespace` | `oid` | `pg_tablespace`.oid | 该数据库的缺省表空间。在这个数据库里,所有`pg_class`.`reltablespace` 为零的表都将保存在这个表空间里;特别要指出的是,所有非共享的系统表也都存放在这里。 | | `datacl` | `aclitem[]` | 访问权限,参阅[GRANT](#calibre_link-19)和[REVOKE](#calibre_link-20)获取详细信息。 |