pgpool2.git / summary / log / commit / refs

commit    d3211dcdedbf649a5444fd06698a26f65bbbe0e1
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Thu Aug 18 07:57:11 2016 +0000

    Let watchdog_setup to be installed.
    
    Also the SGML mannual is added.


doc/src/sgml/ref/allfiles.sgml | 1 + doc/src/sgml/ref/pgpool_setup.sgml | 2 +- doc/src/sgml/ref/watchdog_setup.sgml | 428 +++++++++++++++++++++++++++++++++++ doc/src/sgml/reference.sgml | 1 + src/tools/Makefile.am | 5 +- src/tools/Makefile.in | 5 +- 6 files changed, 439 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index 839c489cb..004f6e962 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -7,3 +7,4 @@ Complete list of usable sgml source files in this directory. <!ENTITY pcpCommonOptions SYSTEM "pcp_common_options.sgml"> <!ENTITY pcpNodeCount SYSTEM "pcp_node_count.sgml"> <!ENTITY pgpoolSetup SYSTEM "pgpool_setup.sgml"> +<!ENTITY watchdoglSetup SYSTEM "watchdog_setup.sgml"> diff --git a/doc/src/sgml/ref/pgpool_setup.sgml b/doc/src/sgml/ref/pgpool_setup.sgml index 5a325e5a0..c23e45644 100644 --- a/doc/src/sgml/ref/pgpool_setup.sgml +++ b/doc/src/sgml/ref/pgpool_setup.sgml @@ -11,7 +11,7 @@ Pgpool-II documentation <refmeta> <refentrytitle>pgpool_setup</refentrytitle> <manvolnum>1</manvolnum> - <refmiscinfo>Other Command</refmiscinfo> + <refmiscinfo>Other Commands</refmiscinfo> </refmeta> <refnamediv> diff --git a/doc/src/sgml/ref/watchdog_setup.sgml b/doc/src/sgml/ref/watchdog_setup.sgml new file mode 100644 index 000000000..e72588605 --- /dev/null +++ b/doc/src/sgml/ref/watchdog_setup.sgml @@ -0,0 +1,428 @@ +<!-- +doc/src/sgml/ref/watchdog_setup.sgml +Pgpool-II documentation +--> + +<refentry id="WATCHDOG-SETUP"> + <indexterm zone="watchdog-setup"> + <primary>watchdog_setup</primary> + </indexterm> + + <refmeta> + <refentrytitle>watchdog_setup</refentrytitle> + <manvolnum>1</manvolnum> + <refmiscinfo>Other Commands</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>watchdog_setup</refname> + <refpurpose> + Create a temporary installation of Pgpool-II clusters with watchdog</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <cmdsynopsis> + <command>watchdog_setup</command> + <arg rep="repeat"><replaceable>option</replaceable></arg> + </cmdsynopsis> + </refsynopsisdiv> + + <refsect1 id="R1-WATCHDOG-SETUP-1"> + <title> + Description + </title> + <para> + <application>watchdog_setup</application> creates a temporary + installation of <productname>Pgpool-II</productname> clusters with watchdog enabled, which + includes a <productname>Pgpool-II</productname> installation and + specified number of <productname>PostgreSQL</productname> + installations under current directory. + Current directory must be empty before running <application>watchdog_setup</application>. + </para> + <para> + <application>watchdog_setup</application> is for testing purpose + only and should not be used to create production installations. + Also please note that heartbeat is not used. + </para> + + <para> + <application>watchdog_setup</application> + uses <xref linkend="pgpool-setup"> as a workhorse. + </para> + + <para> + Currently <application>watchdog_setup</application> supports streaming replication mode, native replication mode and raw mode. + Watchdog is not supported yet. + </para> + </refsect1> + + <refsect1> + <title>Options</title> + <para> + <application>watchdog_setup</application> accepts the following command-line arguments: + + <variablelist> + + <varlistentry> + <term><option>-wn <replaceable class="parameter">num_pgpool</replaceable></option></term> + <listitem> + <para> + Specifies the number of Pgpool-II installations. + If this is omitted, <literal>3</literal> is used. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-wp <replaceable class="parameter">watchdog_base_port</replaceable></option></term> + <listitem> + <para> + Specify the starting base port number used by Pgpool-II and + PostgreSQL. For the first Pgpool-II, Pgpool-II port is + watchdog_base_port. pcp port is u watchdog port is + watchdog_base_port + 2. wd_heartbeat_port is + watchdog_base_port + 3 (though heartbeat is not used). The + first PostgreSQL node's port is watchdog_base_port + 4, + second PostgreSQL node's port is watchdog_base_port + 5 and + so on. + </para> + <para> + If this is omitted, <literal>50000</literal> is used. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-m <replaceable class="parameter">mode</replaceable></option></term> + <listitem> + <para> + Specifies the running mode. <replaceable>mode</replaceable> + can be <literal>r</literal> (native replication mode), <literal>s</literal> (streaming replication mode), or + <literal>n</literal> (raw mode). + If this is omitted, <literal>s</literal> is used. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-n <replaceable class="parameter">num_clusters</replaceable></option></term> + <listitem> + <para> + Specifies the number of PostgreSQL installations. + If this is omitted, <literal>2</literal> is used. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>--no-stop</option></term> + <listitem> + <para> + Do not stop pgpool and PostgreSQL after the work. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-d</option></term> + <listitem> + <para> + Start pgpool with debug mode. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1> + <title>Environment variables</title> + <para> + <application>watchdog_setup</application> recognizes following environment variables: + + <variablelist> + + <varlistentry> + <term><option>PGPOOL_SETUP</option></term> + <listitem> + <para> + Specifies the path to pgpool_setup command. The default is + "pgpool_setup", thus it is assumed that pgpool_setup is in the + command search path. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>PGPOOL_INSTALL_DIR</option></term> + <listitem> + <para> + Specifies the Pgpool-II installation directory. Pgpool-II + binaries is expected to be placed under PGPOOL_INSTALL_DIR/bin + and pgpool.conf and pool_hba.conf etc. are expected to be placed under + PGPOOL_INSTALL_DIR/etc. The default is /usr/local. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>PGPOOLDIR</option></term> + <listitem> + <para> + Specifies the path to Pgpool-II configuration files. + The default is PGPOOL_INSTALL_DIR/etc. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>PGBIN</option></term> + <listitem> + <para> + Specifies the path to PostgreSQL commands such as initdb, pg_ctl and psql. + The default is /usr/local/pgsql/bin. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>PGLIB</option></term> + <listitem> + <para> + Specifies the path to PostgreSQL shared libraries. + The default is /usr/local/pgsql/lib. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>PGSOCKET_DIR</option></term> + <listitem> + <para> + Specifies the path to Unix socket directory. + The default is /tmp. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>INITDBARG</option></term> + <listitem> + <para> + Specifies the arguments for initdb command. + The default is "--no-locale -E UTF_8". + </para> + </listitem> + </varlistentry> + + </variablelist> + + </para> + </refsect1> + + <refsect1> + <title>Example</title> + <para> +<screen> +$ watchdog_setup +Satrting set up +============= setting up pgpool 0 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | false | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | true | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool0/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50000 +pcp port is 50001 +The info above is in README.port. +============= setting up pgpool 1 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | false | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool1/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50004 +pcp port is 50005 +The info above is in README.port. +============= setting up pgpool 2 ============= +Satrting set up in streaming replication mode +creating startall and shutdownall +creating failover script +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/data0...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +creating database cluster /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/data1...done. +update postgreql.conf +creating pgpool_remote_start +creating basebackup.sh +creating recovery.conf +temporarily start data0 cluster to create extensions +temporarily start pgpool-II to create standby nodes +INFO: unrecognized configuration parameter "debug_level" + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | down | 0.500000 | standby | 0 | false | 0 +(2 rows) + +recovery node 1...pcp_recovery_node -- Command Successful +done. +creating follow master script +Pager usage is off. + node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay +---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------- + 0 | /tmp | 51000 | up | 0.500000 | primary | 0 | true | 0 + 1 | /tmp | 51001 | up | 0.500000 | standby | 0 | false | 0 +(2 rows) + +shutdown all + +pgpool-II setting for streaming replication mode is done. +To start the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/startall. +To shutdown the whole system, use /home/t-ishii/work/pgpool-II/current/pgpool2/src/test/a/pgpool2/shutdownall. +pcp command user name is "t-ishii", password is "t-ishii". +Each PostgreSQL, pgpool-II and pcp port is as follows: +#1 port is 51000 +#2 port is 51001 +pgpool port is 50008 +pcp port is 50009 +The info above is in README.port. + +$ ls +pgpool0 pgpool1 pgpool2 shutdownall startall + +$ sh startall +waiting for server to start....16123 2016-08-18 16:26:53 JST LOG: redirecting log output to logging collector process +16123 2016-08-18 16:26:53 JST HINT: Future log output will appear in directory "pg_log". + done +server started +waiting for server to start....16136 2016-08-18 16:26:54 JST LOG: redirecting log output to logging collector process +16136 2016-08-18 16:26:54 JST HINT: Future log output will appear in directory "pg_log". + done +server started + +t-ishii@localhost: psql -p 50000 test + +Pager usage is off. +psql (9.5.4) +Type "help" for help. + +test=# \q + +$ pcp_watchdog_info -p 50001 -v +Password: +Watchdog Cluster Information +Total Nodes : 3 +Remote Nodes : 2 +Quorum state : QUORUM EXIST +Alive Remote Nodes : 2 +VIP up on local node : NO +Master Node Name : Linux_tishii-CF-SX3HE4BP_50004 +Master Host Name : localhost + +Watchdog Node Information +Node Name : Linux_tishii-CF-SX3HE4BP_50000 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50000 +Watchdog port : 50002 +Node priority : 1 +Status : 7 +Status Name : STANDBY + +Node Name : Linux_tishii-CF-SX3HE4BP_50004 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50004 +Watchdog port : 50006 +Node priority : 1 +Status : 4 +Status Name : MASTER + +Node Name : Linux_tishii-CF-SX3HE4BP_50008 +Host Name : localhost +Delegate IP : Not_Set +Pgpool port : 50008 +Watchdog port : 50010 +Node priority : 1 +Status : 7 +Status Name : STANDBY + +</screen> +</para> + </refsect1> + +</refentry> diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 225c91f61..79ab5802f 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -90,6 +90,7 @@ </partintro> &pgpoolSetup; + &watchdoglSetup; </reference> diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index 59febccd7..18964f025 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -1,6 +1,9 @@ SUBDIRS = pcp pgmd5 -dist_bin_SCRIPTS = pgpool_setup +dist_bin_SCRIPTS = pgpool_setup watchdog_setup pgpool_setup: ln -s ../test/pgpool_setup . + +watchdog_setup: + ln -s ../test/watchdog_setup . diff --git a/src/tools/Makefile.in b/src/tools/Makefile.in index 14959c262..e2bea23c4 100644 --- a/src/tools/Makefile.in +++ b/src/tools/Makefile.in @@ -345,7 +345,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = pcp pgmd5 -dist_bin_SCRIPTS = pgpool_setup +dist_bin_SCRIPTS = pgpool_setup watchdog_setup all: all-recursive .SUFFIXES: @@ -699,6 +699,9 @@ uninstall-am: uninstall-dist_binSCRIPTS pgpool_setup: ln -s ../test/pgpool_setup . +watchdog_setup: + ln -s ../test/watchdog_setup . + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: [parent: 2a951dd67873]