pg_database_size() 是一个系统函数,用于返回指定数据库的总大小。
pg_database_size() 添加于 PostgreSQL 8.1。
用法
pg_database_size (name) →bigint
pg_database_size (oid) →bigint
任何拥有对该数据库 CONNECT 权限的用户,或者(从 PostgreSQL 10 开始)属于 pg_read_all_stats 角色的用户都可以执行 pg_database_size()。
请注意,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 月的博客文章
分类
反馈
请在此处 提交关于“pg_database_size()”的任何评论、建议或更正。