relation and returns a copy as a bytea value. This allows a
single time-consistent copy of the block to be obtained.
fork should be 'main' for
- the main data fork, 'fsm' for the free space map,
- 'vm' for the visibility map, or 'init'
- for the initialization fork.
+ the main data fork, 'fsm' for the
+ free space map,
+ 'vm' for the
+ visibility map, or
+ 'init' for the initialization fork.
fsm_page_contents shows the internal node structure
- of an FSM page. For example:
+ of an
FSM page. For example:
test=# SELECT fsm_page_contents(get_raw_page('pg_class', 'fsm', 0));
See src/backend/storage/freespace/README for more
- information on the structure of an FSM page.
+ information on the structure of an
FSM page.
The pg_freespacemap module provides a means for examining the
- free space map (FSM). It provides a function called
- pg_freespace, or two overloaded functions, to be
- precise. The functions show the value recorded in the free space map for
- a given page, or for all pages in the relation.
+ It provides a function called pg_freespace, or two
+ overloaded functions, to be precise. The functions show the value recorded in
+ the free space map for a given page, or for all pages in the relation.
Returns the amount of free space on the page of the relation, specified
- by blkno, according to the FSM.
+ by
blkno, according to the
FSM.
Displays the amount of free space on each page of the relation,
- according to the FSM. A set of (blkno bigint, avail int2)
+ according to the
FSM. A set of
+ (blkno bigint, avail int2)
tuples is returned, one tuple for each page in the relation.
- Rewritten in version 8.4 to suit new FSM implementation by Heikki
+ Rewritten in version 8.4 to suit new
FSM implementation
Each heap and index relation, except for hash indexes, has a Free Space Map
-(FSM) to keep track of available space in the relation. It's stored
-alongside the main relation data in a separate relation fork, named after the
-filenode number of the relation, plus a _fsm suffix. For example,
-if the filenode of a relation is 12345, the FSM is stored in a file called
+(
FSM) to keep track of available space in the relation.
+It's stored alongside the main relation data in a separate relation fork,
+named after the filenode number of the relation, plus a _fsm
+suffix. For example, if the filenode of a relation is 12345, the
+
FSM is stored in a file called
12345_fsm, in the same directory as the main relation file.