pg_database_size()
是一个系统函数,返回指定数据库的总大小。
pg_database_size()
在 PostgreSQL 8.1 中添加。
用法
pg_database_size (name
) →bigint
pg_database_size (oid
) →bigint
pg_database_size()
可以由任何拥有数据库 CONNECT
权限的用户执行,或者(从 PostgreSQL 10 开始)任何属于 pg_read_all_stats
角色的用户执行。
请注意,pg_database_size()
计算数据库数据目录(位于 base/
子目录中)和任何关联的 表空间 中相应目录的实际磁盘使用情况。这可能导致读取的大小比计算该数据库中所有对象的总和要大。
更改历史
- PostgreSQL 8.1
- 添加 (提交 358a897f)
示例
pg_database_size()
的基本执行示例
postgres=# SELECT pg_database_size('proddb'); pg_database_size ------------------ 6309618543 (1 row)
尝试确定不存在的数据库的大小
postgres=# SELECT pg_database_size('foo'); ERROR: database "foo" does not exist
通过 OID 尝试确定不存在的数据库的大小
postgres=# SELECT pg_database_size(99::oid); pg_database_size ------------------ (1 row)
(返回 NULL
)。
参考
- PostgreSQL 文档: 数据库对象管理函数
有用链接
- 我的数据库和其他东西有多大 - Postgres OnLine Journal 2011年11月博文