pg_relation_size()

用于确定关系分支大小的函数

pg_relation_size() 是一个系统函数,用于确定关系特定分支的磁盘大小。

pg_relation_size() 添加于PostgreSQL 8.1

用法

pg_relation_size ( relation regclass [, fork text ] ) → bigint

fork 可以是以下值之一(如果未指定,则默认为 main

  • main(主分支)
  • fsm(空闲空间映射)
  • vm(可见性映射)
  • init初始化分支

调用者不需要对关系有任何权限即可确定其大小。但是,表上的 ACCESS EXCLUSIVE 锁定将导致函数暂停,直到释放锁定。

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

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

请注意,对于大多数目的,使用 pg_total_relation_size()pg_table_size() 之一将更方便。

变更历史

示例

pg_relation_size() 的基本用法示例

postgres=# SELECT pg_relation_size('app.object', 'fsm');
 pg_relation_size 
------------------
            24576
(1 row)

尝试查询不存在的关系的大小

postgres=# SELECT pg_relation_size('foo');
ERROR:  relation "foo" does not exist
LINE 1: SELECT pg_relation_size('foo');
                                ^

提供一个 OID,该 OID 未映射到现有关系

postgres=# SELECT pg_relation_size(123);
 pg_relation_size 
------------------
                 
(1 row)

分类

系统函数

另请参阅

pg_total_relation_size()pg_table_size()pg_indexes_size()

反馈

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