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()" 的任何评论、建议或更正,请在此 提交