pg_database_size()

返回数据库大小的函数

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/ 子目录中)以及任何关联的 表空间 中相应目录的实际磁盘使用量。这可能导致读取的大小比计算该数据库中所有对象的总和要大。

更改历史

示例

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)。

分类

系统函数

参见

pg_tablespace_size()pg_relation_size()pg_column_size()pg_table_size()pg_indexes_size()

反馈

提交任何关于 "pg_database_size()" 的评论、建议或更正 在此