9.3 9.4 9.5 9.6 10 11 12 13 14 Current(15)
阿里云PostgreSQL 问题报告 纠错本页面
PostgreSQL 9.6.0 手册
上一页上一级附录 F. 额外提供的模块下一页

F.26. pg_freespacemap

pg_freespacemap模块提供了一种方法来检查空闲空间映射(FSM)。它提供了一个称为pg_freespace的函数,或者准确地说是两个重载的函数。这些函数显示空闲空间映射中为一个给定页面所记录的值,或者显示关系中所有页面的记录值。

默认情况下,会从这些函数撤回公共访问,以防有潜在的安全问题。

F.26.1. 函数

pg_freespace(rel regclass IN, blkno bigint IN) 返回 int2

根据 FSM,返回由blkno指定的关系页面上的空闲空间总量。

pg_freespace(rel regclass IN, blkno OUT bigint, avail OUT int2)

根据 FSM,显示关系的每个页面上的空闲空间总量。一个(blkno bigint, avail int2)元组的集合会被返回,每一个元组对应关系中的一个页面。

存储在空闲空间映射中的值不准确。它们被圆整到BLCKSZ的 1/256(对于默认的BLCKSZ是 32 字节),并且在元组被插入和更新时它们不会被实时更新。

对于索引,被跟踪的是整个没有使用的页面,而不是页面中的空闲空间。因此,这些值可能没有意义,只是表示一个页面是满的还是空的。

注意: 在版本 8.4 中接口已被更改,以反映在同一个版本中新引入的 FSM 实现。

F.26.2. 样例输出

postgres=# SELECT * FROM pg_freespace('foo');
 blkno | avail 
-------+-------
 0 | 0
 1 | 0
 2 | 0
 3 | 32
 4 | 704
 5 | 704
 6 | 704
 7 | 1216
 8 | 704
 9 | 704
 10 | 704
 11 | 704
 12 | 704
 13 | 704
 14 | 704
 15 | 704
 16 | 704
 17 | 704
 18 | 704
 19 | 3648
(20 rows)
postgres=# SELECT * FROM pg_freespace('foo', 7);
 pg_freespace 
--------------
 1216
(1 row)

F.26.3. 作者

最初的版本由 Mark Kirkwood <markir@paradise.net.nz>完成。在版本 8.4 中由 Heikki Linnakangas <heikki@enterprisedb.com>重写以适应新的 FSM 实现。


上一页起始页下一页
pgcrypto上一级pg_prewarm
<
/BODY>

AltStyle によって変換されたページ (->オリジナル) /