pg_database #目录pg_database存储有关可用数据库的信息。 数据库通过CREATE DATABASE命令创建。 更多关于其参数的信息请查阅Chapter 22。
和大部分系统目录不同,pg_database是在集簇的所有数据库之间共享的:在一个集簇中只有一份pg_database拷贝,而不是每个数据库一份。
Table 52.15. pg_database 列
| Name | 类型 | 引用 | 描述 |
|---|---|---|---|
oid |
oid |
行标识符(隐藏属性,必须显式选择) | |
datname |
name |
数据库名称 | |
datdba |
oid |
|
数据库的拥有者,通常是创建它的用户 |
encoding |
int4 |
数据库的字符编码 (pg_encoding_to_char()可以将这个数字翻译为编码名称) |
|
datcollate |
name |
此数据库的LC_COLLATE | |
datctype |
name |
此数据库的LC_CTYPE | |
datistemplate |
bool |
如果为真,则此数据库可被任何具有CREATEDB权限的用户克隆; 如果为假,则只有超级用户或者该数据库的属主能够克隆它。 |
|
datallowconn |
bool |
如果为假则没有人能连接到这个数据库。这可以用来保护template0数据库不被修改。 |
|
datconnlimit |
int4 |
设置可以连接到此数据库的最大并发连接数。-1表示没有限制,-2表示数据库无效。 | |
datlastsysoid |
oid |
数据库中最后一个系统 OID; 对 pg_dump 尤其有用 | |
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_class.reltablespace为0的表都将被存储在这个表空间中;尤其是非共享系统目录都会在其中。 |
datacl |
aclitem[] |
访问权限,详见GRANT和REVOKE |