diff options
author | Michael Paquier <michael@paquier.xyz> | 2019-08-23 20:41:06 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2019-08-23 20:41:06 +0900 |
commit | 292ae8af79b4f1b09a327d39e80ef70943a28194 (patch) | |
tree | 92a3f18147b7212843e9e218cc5ff9553cab2283 | |
parent | 21e60fa8fe296355dca96c451fb13119cc0e6bd2 (diff) | |
download | postgresql-292ae8af79b4f1b09a327d39e80ef70943a28194.tar.gz postgresql-292ae8af79b4f1b09a327d39e80ef70943a28194.zip |
Improve documentation of pageinspect
This adds a section for heap-related functions. These were previously
mixed with functions having a more general purpose, leading to
confusion. While on it, add a query example for fsm_page_contents.
Backpatch down to 10, where b5e3942 introduced the subsections for
function types in pageinspect documentation.
Author: Masahiko Sawada
Discussion: https://postgr.es/m/CAD21AoDyM7E1+cK3-aWejxKTGC-wVVP2B+RnJhN6inXyeRmqzw@mail.gmail.com
Backpatch-through: 10
-rw-r--r-- | doc/src/sgml/pageinspect.sgml | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml index 8d81f8894e7..cb08c7632b9 100644 --- a/doc/src/sgml/pageinspect.sgml +++ b/doc/src/sgml/pageinspect.sgml @@ -127,6 +127,39 @@ test=# SELECT page_checksum(get_raw_page('pg_class', 0), 0); <varlistentry> <term> + <function>fsm_page_contents(page bytea) returns text</function> + <indexterm> + <primary>fsm_page_contents</primary> + </indexterm> + </term> + + <listitem> + <para> + <function>fsm_page_contents</function> shows the internal node structure + of a FSM page. For example: +<screen> +test=# SELECT fsm_page_contents(get_raw_page('pg_class', 'fsm', 0)); +</screen> + The output is a multiline string, with one line per node in the binary + tree within the page. Only those nodes that are not zero are printed. + The so-called "next" pointer, which points to the next slot to be + returned from the page, is also printed. + </para> + <para> + See <filename>src/backend/storage/freespace/README</filename> for more + information on the structure of an FSM page. + </para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2> + <title>Heap Functions</title> + + <variablelist> + <varlistentry> + <term> <function>heap_page_items(page bytea) returns setof record</function> <indexterm> <primary>heap_page_items</primary> @@ -203,29 +236,6 @@ test=# SELECT * FROM heap_page_item_attrs(get_raw_page('pg_class', 0), 'pg_class </para> </listitem> </varlistentry> - - <varlistentry> - <term> - <function>fsm_page_contents(page bytea) returns text</function> - <indexterm> - <primary>fsm_page_contents</primary> - </indexterm> - </term> - - <listitem> - <para> - <function>fsm_page_contents</function> shows the internal node structure - of a FSM page. The output is a multiline string, with one line per - node in the binary tree within the page. Only those nodes that are not - zero are printed. The so-called "next" pointer, which points to the - next slot to be returned from the page, is also printed. - </para> - <para> - See <filename>src/backend/storage/freespace/README</filename> for more - information on the structure of an FSM page. - </para> - </listitem> - </varlistentry> </variablelist> </sect2> |