pgpool2.git / summary / log / commit / refs

commit    c6e7b334c2957bce42b9799dee9a70679b2bf62c
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Tue Apr 11 08:01:17 2017 +0000

    Add missing pgpool_adm manuals.
    
    They were missing while migrating to SGML. Still Japanese docs need to
    be updated.


doc/src/figures/pgpool_adm.gif | Bin 0 -> 8642 bytes doc/src/figures/pgpool_adm.odp | Bin 0 -> 17456 bytes doc/src/figures/pgpool_adm.png | Bin 0 -> 32437 bytes doc/src/sgml/ref/allfiles.sgml | 5 + doc/src/sgml/ref/pgpool_adm_pcp_attach_node.sgml | 103 ++++++++++++++++++++ doc/src/sgml/ref/pgpool_adm_pcp_detach_node.sgml | 115 +++++++++++++++++++++++ doc/src/sgml/ref/pgpool_adm_pcp_node_count.sgml | 89 ++++++++++++++++++ doc/src/sgml/ref/pgpool_adm_pcp_node_info.sgml | 106 +++++++++++++++++++++ doc/src/sgml/ref/pgpool_adm_pcp_pool_status.sgml | 101 ++++++++++++++++++++ doc/src/sgml/reference.sgml | 71 ++++++++++++++ 10 files changed, 590 insertions(+) diff --git a/doc/src/figures/pgpool_adm.gif b/doc/src/figures/pgpool_adm.gif new file mode 100644 index 000000000..8ed660038 Binary files /dev/null and b/doc/src/figures/pgpool_adm.gif differ diff --git a/doc/src/figures/pgpool_adm.odp b/doc/src/figures/pgpool_adm.odp new file mode 100644 index 000000000..ef4877fd9 Binary files /dev/null and b/doc/src/figures/pgpool_adm.odp differ diff --git a/doc/src/figures/pgpool_adm.png b/doc/src/figures/pgpool_adm.png new file mode 100644 index 000000000..f9f265b3c Binary files /dev/null and b/doc/src/figures/pgpool_adm.png differ diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index 8a2105c1f..d20fde677 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -29,3 +29,8 @@ Complete list of usable sgml source files in this directory. <!ENTITY showPoolPools SYSTEM "show_pool_pools.sgml"> <!ENTITY showPoolVersion SYSTEM "show_pool_version.sgml"> <!ENTITY showPoolCache SYSTEM "show_pool_cache.sgml"> +<!ENTITY pgpoolAdmPcpNodeInfo SYSTEM "pgpool_adm_pcp_node_info.sgml"> +<!ENTITY pgpoolAdmPcpPoolStatus SYSTEM "pgpool_adm_pcp_pool_status.sgml"> +<!ENTITY pgpoolAdmPcpNodeCount SYSTEM "pgpool_adm_pcp_node_count.sgml"> +<!ENTITY pgpoolAdmPcpAttachNode SYSTEM "pgpool_adm_pcp_attach_node.sgml"> +<!ENTITY pgpoolAdmPcpDetachNode SYSTEM "pgpool_adm_pcp_detach_node.sgml"> diff --git a/doc/src/sgml/ref/pgpool_adm_pcp_attach_node.sgml b/doc/src/sgml/ref/pgpool_adm_pcp_attach_node.sgml new file mode 100644 index 000000000..0cfa9b72c --- /dev/null +++ b/doc/src/sgml/ref/pgpool_adm_pcp_attach_node.sgml @@ -0,0 +1,103 @@ +<!-- +doc/src/sgml/ref/pgpool_adm_pcp_attach_node.sgml +Pgpool-II documentation +--> + +<refentry id="PGPOOL-ADM-PCP-ATTACH-NODE"> + <indexterm zone="pgpool-adm-pcp-attach-node"> + <primary>pgpool_adm_pcp_attach_node</primary> + </indexterm> + + <refmeta> + <refentrytitle>pgpool_adm_pcp_attach_node</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo>pgpool_adm extension</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pgpool_adm_pcp_attach_node</refname> + <refpurpose> + a function to attach given node ID</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcprototype> + <funcdef><function>pcp_attach_node</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>text <parameter>host</parameter></paramdef> + <paramdef>integer <parameter>port</parameter></paramdef> + <paramdef>text <parameter>username</parameter></paramdef> + <paramdef>text <parameter>password</parameter></paramdef> + <paramdef>out <parameter>node_attached boolean</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef><function>pcp_attach_node</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>text <parameter>pcp_server</parameter></paramdef> + <paramdef>out <parameter>node_attached boolean</parameter></paramdef> + </funcprototype> + + </funcsynopsis> + </refsynopsisdiv> + + <refsect1 id="R3-PCP-ATTACH-NODE-3"> + <title>Description</title> + <para> + <function>pcp_attach_node</function> attaches a node + to <productname>Pgpool-II</productname>. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + <para> + <variablelist> + + <varlistentry> + <term><replaceable class="parameter">node_id</replaceable></term> + <listitem> + <para> + The index of backend node to attach. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">pcp_server</replaceable></term> + <listitem> + <para> + The foreign server name for pcp server. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>Other arguments </option></term> + <listitem> + <para> + See <xref linkend="pcp-common-options">. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> + Here is an example output: + <programlisting> +test=# SELECT * FROM pcp_attach_node(1,'localhost',11001,'t-ishii','t-ishii'); + node_attached +--------------- + t +(1 row) + </programlisting> + </para> + + </refsect1> + +</refentry> diff --git a/doc/src/sgml/ref/pgpool_adm_pcp_detach_node.sgml b/doc/src/sgml/ref/pgpool_adm_pcp_detach_node.sgml new file mode 100644 index 000000000..8e4ed42e0 --- /dev/null +++ b/doc/src/sgml/ref/pgpool_adm_pcp_detach_node.sgml @@ -0,0 +1,115 @@ +<!-- +doc/src/sgml/ref/pgpool_adm_pcp_detach_node.sgml +Pgpool-II documentation +--> + +<refentry id="PGPOOL-ADM-PCP-DETACH-NODE"> + <indexterm zone="pgpool-adm-pcp-detach-node"> + <primary>pgpool_adm_pcp_detach_node</primary> + </indexterm> + + <refmeta> + <refentrytitle>pgpool_adm_pcp_detach_node</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo>pgpool_adm extension</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pgpool_adm_pcp_detach_node</refname> + <refpurpose> + a function to detach given node ID</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcprototype> + <funcdef><function>pcp_detach_node</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>boolean <parameter>gracefully</parameter></paramdef> + <paramdef>text <parameter>host</parameter></paramdef> + <paramdef>integer <parameter>port</parameter></paramdef> + <paramdef>text <parameter>username</parameter></paramdef> + <paramdef>text <parameter>password</parameter></paramdef> + <paramdef>out <parameter>node_detached boolean</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef><function>pcp_detach_node</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>boolean <parameter>gracefully</parameter></paramdef> + <paramdef>text <parameter>pcp_server</parameter></paramdef> + <paramdef>out <parameter>node_detached boolean</parameter></paramdef> + </funcprototype> + + </funcsynopsis> + </refsynopsisdiv> + + <refsect1 id="R3-PCP-DETACH-NODE-3"> + <title>Description</title> + <para> + <function>pcp_detach_node</function> detaches a node + to <productname>Pgpool-II</productname>. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + <para> + <variablelist> + + <varlistentry> + <term><replaceable class="parameter">node_id</replaceable></term> + <listitem> + <para> + The index of backend node to detach. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">gracefully</replaceable></term> + <listitem> + <para> + If true, wait for all session + of <productname>pgpool-II</productname> terminates. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">pcp_server</replaceable></term> + <listitem> + <para> + The foreign server name for pcp server. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>Other arguments </option></term> + <listitem> + <para> + See <xref linkend="pcp-common-options">. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> + Here is an example output: + <programlisting> +test=# SELECT * FROM pcp_detach_node(1, 'false', 'localhost',11001,'t-ishii','t-ishii'); + node_detached +--------------- + t +(1 row) + </programlisting> + </para> + + </refsect1> + +</refentry> diff --git a/doc/src/sgml/ref/pgpool_adm_pcp_node_count.sgml b/doc/src/sgml/ref/pgpool_adm_pcp_node_count.sgml new file mode 100644 index 000000000..16bf7d1a7 --- /dev/null +++ b/doc/src/sgml/ref/pgpool_adm_pcp_node_count.sgml @@ -0,0 +1,89 @@ +<!-- +doc/src/sgml/ref/pgpool_adm_pcp_node_count.sgml +Pgpool-II documentation +--> + +<refentry id="PGPOOL-ADM-PCP-NODE-COUNT"> + <indexterm zone="pgpool-adm-pcp-node-count"> + <primary>pgpool_adm_pcp_node_count</primary> + </indexterm> + + <refmeta> + <refentrytitle>pgpool_adm_pcp_node_count</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo>pgpool_adm extension</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pgpool_adm_pcp_node_count</refname> + <refpurpose> + a function to retrieves parameters in pgpool.conf.</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcprototype> + <funcdef><function>pcp_node_count</function> returns integer</funcdef> + <paramdef>text <parameter>host</parameter></paramdef> + <paramdef>integer <parameter>port</parameter></paramdef> + <paramdef>text <parameter>username</parameter></paramdef> + <paramdef>text <parameter>password</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef><function>pcp_node_count</function> returns integer</funcdef> + <paramdef>text <parameter>pcp_server</parameter></paramdef> + </funcprototype> + + </funcsynopsis> + </refsynopsisdiv> + + <refsect1 id="R3-PCP-NODE-COUNT-3"> + <title>Description</title> + <para> + <function>pcp_node_count</function> retrieves number of DB nodes. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + <para> + <variablelist> + + <varlistentry> + <term><replaceable class="parameter">pcp_server</replaceable></term> + <listitem> + <para> + The foreign server name for pcp server. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>Other arguments </option></term> + <listitem> + <para> + See <xref linkend="pcp-common-options">. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> + Here is an example output: + <programlisting> +test=# SELECT * FROM pcp_node_count('localhost',11001,'t-ishii','t-ishii'); + node_count +------------ + 2 +(1 row) + </programlisting> + </para> + + </refsect1> + +</refentry> diff --git a/doc/src/sgml/ref/pgpool_adm_pcp_node_info.sgml b/doc/src/sgml/ref/pgpool_adm_pcp_node_info.sgml new file mode 100644 index 000000000..bcc52c866 --- /dev/null +++ b/doc/src/sgml/ref/pgpool_adm_pcp_node_info.sgml @@ -0,0 +1,106 @@ +<!-- +doc/src/sgml/ref/pgpool_adm_pcp_node_info.sgml +Pgpool-II documentation +--> + +<refentry id="PGPOOL-ADM-PCP-NODE-INFO"> + <indexterm zone="pgpool-adm-pcp-node-info"> + <primary>pgpool_adm_pcp_node_info</primary> + </indexterm> + + <refmeta> + <refentrytitle>pgpool_adm_pcp_node_info</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo>pgpool_adm extension</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pgpool_adm_pcp_node_info</refname> + <refpurpose> + a function to display the information on the given node + ID</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcprototype> + <funcdef><function>pcp_node_info</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>text <parameter>host</parameter></paramdef> + <paramdef>integer <parameter>port</parameter></paramdef> + <paramdef>text <parameter>username</parameter></paramdef> + <paramdef>text <parameter>password</parameter></paramdef> + <paramdef>out <parameter>status text</parameter></paramdef> + <paramdef>out <parameter>weight float4</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef><function>pcp_node_info</function> returns record</funcdef> + <paramdef>integer <parameter>node_id</parameter></paramdef> + <paramdef>text <parameter>pcp_server</parameter></paramdef> + <paramdef>out <parameter>status text</parameter></paramdef> + <paramdef>out <parameter>weight float4</parameter></paramdef> + </funcprototype> + + </funcsynopsis> + </refsynopsisdiv> + + <refsect1 id="R3-PCP-NODE-INFO-3"> + <title>Description</title> + <para> + <function>pcp_node_info</function> + displays the information on the given node ID. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + <para> + <variablelist> + + <varlistentry> + <term><replaceable class="parameter">node_id</replaceable></term> + <listitem> + <para> + The index of backend node to get information of. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">pcp_server</replaceable></term> + <listitem> + <para> + The foreign server name for pcp server. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>Other arguments </option></term> + <listitem> + <para> + See <xref linkend="pcp-common-options">. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> + Here is an example output: + <programlisting> +test=# SELECT * FROM pcp_node_info(0,'',11001,'t-ishii','t-ishii'); + host | port | status | weight +------+-------+-------------------+-------- + /tmp | 11002 | Connection in use | 0 +(1 row) + </programlisting> + </para> + + </refsect1> + +</refentry> diff --git a/doc/src/sgml/ref/pgpool_adm_pcp_pool_status.sgml b/doc/src/sgml/ref/pgpool_adm_pcp_pool_status.sgml new file mode 100644 index 000000000..e2e320210 --- /dev/null +++ b/doc/src/sgml/ref/pgpool_adm_pcp_pool_status.sgml @@ -0,0 +1,101 @@ +<!-- +doc/src/sgml/ref/pgpool_adm_pcp_pool_status.sgml +Pgpool-II documentation +--> + +<refentry id="PGPOOL-ADM-PCP-POOL-STATUS"> + <indexterm zone="pgpool-adm-pcp-pool-status"> + <primary>pgpool_adm_pcp_pool_status</primary> + </indexterm> + + <refmeta> + <refentrytitle>pgpool_adm_pcp_pool_status</refentrytitle> + <manvolnum>3</manvolnum> + <refmiscinfo>pgpool_adm extension</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pgpool_adm_pcp_pool_status</refname> + <refpurpose> + a function to retrieves parameters in pgpool.conf.</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcprototype> + <funcdef><function>pcp_pool_status</function> returns record</funcdef> + <paramdef>text <parameter>host</parameter></paramdef> + <paramdef>integer <parameter>port</parameter></paramdef> + <paramdef>text <parameter>username</parameter></paramdef> + <paramdef>text <parameter>password</parameter></paramdef> + <paramdef>out <parameter>item text</parameter></paramdef> + <paramdef>out <parameter>value text</parameter></paramdef> + <paramdef>out <parameter>description text</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef><function>pcp_pool_status</function> returns record</funcdef> + <paramdef>text <parameter>pcp_server</parameter></paramdef> + <paramdef>out <parameter>item text</parameter></paramdef> + <paramdef>out <parameter>value text</parameter></paramdef> + <paramdef>out <parameter>description text</parameter></paramdef> + </funcprototype> + + </funcsynopsis> + </refsynopsisdiv> + + <refsect1 id="R3-PCP-POOL-STATUS-3"> + <title>Description</title> + <para> + <function>pcp_pool_status</function> retrieves parameters in + pgpool.conf. + </para> + </refsect1> + + <refsect1> + <title>Arguments</title> + <para> + <variablelist> + + <varlistentry> + <term><replaceable class="parameter">pcp_server</replaceable></term> + <listitem> + <para> + The foreign server name for pcp server. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>Other arguments </option></term> + <listitem> + <para> + See <xref linkend="pcp-common-options">. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> + Here is an example output: + <programlisting> + test=# SELECT * FROM pcp_pool_status('localhost',11001,'t-ishii','t-ishii') WHERE item ~ 'backend.*0'; + item | value | description +-------------------------+------------------------------------------------+------------------------------- + backend_hostname0 | /tmp | backend #0 hostname + backend_port0 | 11002 | backend #0 port number + backend_weight0 | 0.500000 | weight of backend #0 + backend_data_directory0 | /home/t-ishii/work/pgpool-II/current/aaa/data0 | data directory for backend #0 + backend_status0 | 2 | status of backend #0 + backend_flag0 | ALLOW_TO_FAILOVER | backend #0 flag +(6 rows) + </programlisting> + </para> + + </refsect1> + +</refentry> diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 711d7afaf..986e5783d 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -148,4 +148,75 @@ &showPoolCache </reference> + + <reference id="pgpool-adm"> + <title>pgpool_adm extension</title> + + <partintro> + <para> + <command>pgpool_adm</command> is a set of extensions to allow + SQL access to <xref linkend="pcp-commands"> (actually, pcp + libraries). It uses foreign data wrapper as shown in the + diagram below. + </para> + <para> + <figure> + <title>How <command>pgpool_adm</command> works</title> + <mediaobject> + <imageobject> + <imagedata fileref="pgpool_adm.gif"> + </imageobject> + </mediaobject> + </figure> + </para> + + <para> + It is possible to call the functions from either via pgpool-II + (1) or via <productname>PostgreSQL</productname> (2). In case + (1), <productname>Pgpool-II</productname> accepts query from + user (1), then forward + to <productname>PostgreSQL</productname> (3). + <productname>PostgreSQL</productname> connects + to <productname>Pgpool-II</productname> (5) + and <productname>Pgpool-II</productname> reply back + to <productname>PostgreSQL</productname> with the result + (3). <productname>PostgreSQL</productname> returns the result + to <productname>Pgpool-II</productname> (5) + and <productname>Pgpool-II</productname> fowards the data to + the user (6). + </para> + <para> + In case (2), <productname>PostgreSQL</productname> accepts query from user (2). + <productname>PostgreSQL</productname> connects + to <productname>Pgpool-II</productname> (5) + and <productname>Pgpool-II</productname> reply back + to <productname>PostgreSQL</productname> with the result (3). + <productname>PostgreSQL</productname> replies back the data to + the user (6). + </para> + <para> + There are two forms to call pgpool_adm functions: first form + accepts <productname>Pgpool-II</productname> host name (or IP + address), pcp port number, pcp user name, its password and + another parameters. + </para> + <para> + In the second form, <productname>Pgpool-II</productname> + server name is required. The server name must be already + defined using "CREATE FOREIGN SERVER" command + of <productname>PostgreSQL</productname>. The pcp port number + is hard coded as 9898, the pcp user name is assumes to be same + as caller's <productname>PostgreSQL</productname> user name. + password is extraced from $HOME/.pcppass. + </para> + </partintro> + + &pgpoolAdmPcpNodeInfo + &pgpoolAdmPcpPoolStatus + &pgpoolAdmPcpNodeCount + &pgpoolAdmPcpAttachNode + &pgpoolAdmPcpDetachNode + + </reference> + </part> [parent: 5add91252260]