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

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

分类

系统函数

另请参见

pg_total_relation_size()pg_table_size()pg_indexes_size()

反馈

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