历史版本。 PostgreSQL 7.4 已结束支持。 请参阅 当前版本手册.
43.12. pg_database #
目录 pg_database 存储可用数据库的信息。数据库用 CREATE DATABASE 命令创建。有关某些参数含义的细节,请参见第 18 章。
和大部分系统目录不同,pg_database是在集簇的所有数据库之间共享的:在一个集簇中只有一份pg_database拷贝,而不是每个数据库一份。
表 43.12. pg_database 列
| 名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
datname | name | 数据库名称 | |
datdba | int4 | | 数据库的拥有者,通常是创建它的用户 |
encoding | int4 | 该数据库的字符编码 | |
datistemplate | bool | 如果为真,则该数据库可以在 CREATE DATABASE 的 TEMPLATE 子句中使用,以创建一个作为该数据库克隆的新数据库。 | |
datallowconn | bool | 如果为假则没有人能连接到这个数据库。这可以用来保护template0数据库不被修改。
| |
datlastsysoid | oid | 数据库中最后一个系统 OID;对 pg_dump 尤其有用 | |
datvacuumxid | xid | 在此之前的事务 ID 插入或删除的所有行,在该数据库中都已被标记为已知已提交或已知已中止。这用于确定何时可以回收提交日志空间。 | |
datfrozenxid | xid | 在此之前的事务 ID 插入的所有行,在该数据库中都已被重新标记为一个永久的(“冻结”的)事务 ID。这有助于检查是否必须尽快对数据库进行 VACUUM,以避免事务 ID 回卷问题。 | |
datpath | text | 如果该数据库存储在一个替代位置,则此字段记录该位置。它既可能是环境变量名,也可能是绝对路径,取决于当时的输入方式。 | |
datconfig | text[] | 运行时配置变量的会话默认值 | |
datacl | aclitem[] | 访问权限 |