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()" 的任何评论、建议或更正 此处