postgres.git / summary / log / commit / refs

commit    1fb2d78cb94672f4cfc0c1a2da9e0a534e3698f2
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Fri Aug 23 11:41:22 2019 +0000
First released in: 13.0, 10.11, 11.6, 12.0

    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


doc/src/sgml/pageinspect.sgml | 56 +++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml index 2ec2d957a31..442b926717c 100644 --- a/doc/src/sgml/pageinspect.sgml +++ b/doc/src/sgml/pageinspect.sgml @@ -125,6 +125,39 @@ test=# SELECT page_checksum(get_raw_page('pg_class', 0), 0); </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. 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</> 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> @@ -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</> for more - information on the structure of an FSM page. - </para> - </listitem> - </varlistentry> </variablelist> </sect2> [parent: 73ef3df16dfa]