Let watchdog_setup to be installed.
authorTatsuo Ishii <ishii@postgresql.org>
Thu, 18 Aug 2016 07:57:11 +0000 (16:57 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Thu, 18 Aug 2016 07:57:11 +0000 (16:57 +0900)
Also the SGML mannual is added.

doc/src/sgml/ref/allfiles.sgml
doc/src/sgml/ref/pgpool_setup.sgml
doc/src/sgml/ref/watchdog_setup.sgml [new file with mode: 0644]
doc/src/sgml/reference.sgml
src/tools/Makefile.am
src/tools/Makefile.in

index 839c489cb45eb06393808b6845145201db4b83e5..004f6e962d25cc7fa43fdb01e1a03f2b87af9b3d 100644 (file)
@@ -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">
index 5a325e5a0d50387d05f47417bc3353cc63d9f1e5..c23e45644aee74a691099ae5344d86b486de8f55 100644 (file)
@@ -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 (file)
index 0000000..e725886
--- /dev/null
@@ -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>
index 225c91f616c61d12fe84af0f35222e5edb3fb971..79ab5802f7bb08fed01189e917e6809401887937 100644 (file)
@@ -90,6 +90,7 @@
    </partintro>
 
    &pgpoolSetup;
+   &watchdoglSetup;
 
  </reference>
 
index 59febccd7fd1cbbc7b97eb82260cfe518b8b5a6c..18964f025b589b1bf1d2b499158972ad391038ae 100644 (file)
@@ -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 .
index 14959c2624f5acdef6a8f6920e2874433f4ca90a..e2bea23c40abd89a6c798494758f93f13da7a944 100644 (file)
@@ -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: