pg_total_relation_size()

一个用于确定关系总大小的函数

pg_total_relation_size() 是一个系统函数,用于确定关系的总磁盘大小,包括数据和任何索引。

pg_total_relation_size() 添加于 PostgreSQL 8.1 中。

用法

pg_total_relation_size ( regclass ) → bigint

pg_total_relation_size() 返回 pg_table_size()pg_indexes_size() 将为该关系返回的值的总和。

如果通过名称指定了一个不存在的关系,则会引发 ERROR

如果提供了不映射到现有关系的 OID,则会返回 NULL

调用者不需要对该表有任何权限来确定其大小。但是,该表上的 ACCESS EXCLUSIVE 锁会使函数暂停,直到锁被释放。

更改历史记录

示例

pg_total_relation_size() 的基本用法示例

postgres=# SELECT pg_size_pretty(pg_total_relation_size('object_property'));
 pg_size_pretty 
----------------
 492 MB
(1 row)

pg_total_relation_size() 返回的值与 pg_table_size()pg_indexes_size() 返回的值之和相同。

appdb=> WITH sizes AS (
          SELECT pg_table_size('object_property'),
                 pg_indexes_size('object_property'),
                 pg_total_relation_size('object_property')
        )
        SELECT pg_total_relation_size, pg_table_size + pg_indexes_size
          FROM sizes;
 pg_total_relation_size | ?column?
------------------------+-----------
              515989504 | 515989504
(1 row)

类别

系统函数

参见

pg_table_size()pg_indexes_size()pg_relation_size()

反馈

提交任何有关 "pg_total_relation_size()" 的评论、建议或更正 此处