# F.27.pg_自由空间地图
这个pg_自由空间地图
模块提供了一种检查自由空间地图(FSM)的方法。它提供了一个名为pg_自由空间
,或者准确地说是两个重载函数。这些函数显示给定页面或关系中所有页面的可用空间映射中记录的值。
默认情况下,仅限于超级用户和pg_统计_扫描_表格
角色其他人可以使用授予
.
# F.27.1.功能
pg_freespace(rel regclass IN,blkno bigint IN)返回int2
返回由指定的关系页上的可用空间量布尔克诺
根据FSM。
pg_自由空间(rel REG类输入,blkno输出bigint,avail OUT int2)
根据FSM显示关系每页的可用空间量。一套(blkno bigint,avail int2)
返回元组,关系中的每个页面对应一个元组。
自由空间贴图中存储的值不准确。它们被四舍五入到1/256的精度BLCKSZ
(默认为32字节)BLCKSZ
),而且在插入和更新元组时,它们并没有完全保持最新。
对于索引,跟踪的是完全未使用的页面,而不是页面内的可用空间。因此,无论页面是满的还是空的,这些值都没有意义。
# F.27.2.样本输出
postgres=# SELECT * FROM pg_freespace('foo');
blkno | avail
### F.27.3. Author
Original version by Mark Kirkwood `<[markir@paradise.net.nz](mailto:markir@paradise.net.nz)>`. Rewritten in version 8.4 to suit new FSM implementation by Heikki Linnakangas `<[heikki@enterprisedb.com](mailto:heikki@enterprisedb.com)>`