pgpool-II 4.1.4 Documentation
Prev | Up |  | Next

# watchdog_setup

## Name

watchdog_setup -- Create a temporary installation of Pgpool-II clusters with watchdog

## Synopsis

`watchdog_setup` [`option`...]

## Description

watchdog_setup creates a temporary installation of Pgpool-II clusters with watchdog enabled, which includes a Pgpool-II installation and specified number of PostgreSQL installations under current directory. Current directory must be empty before running watchdog_setup.

watchdog_setup is for testing purpose only and should not be used to create production installations. Also please note that heartbeat is not used.

watchdog_setup uses pgpool_setup as a workhorse.

Currently watchdog_setup supports streaming replication mode, native replication mode, logical replication mode and raw mode.

## Options

watchdog_setup accepts the following command-line arguments:

`-wn `num_pgpool``

  Specifies the number of Pgpool-II installations. If this is omitted, `3` is used.

`-wp `watchdog_base_port``

  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 watchdog_base_port + 1, 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.

  If this is omitted, `50000` is used.

`-m `mode``

  Specifies the running mode. `mode` can be `r` (native replication mode), `s` (streaming replication mode), or `n` (raw mode). If this is omitted, `s` is used.

`-n `num_clusters``

  Specifies the number of PostgreSQL installations. If this is omitted, `2` is used.

`--no-stop`

  Do not stop pgpool and PostgreSQL after the work.

`-d`

  Start pgpool with debug mode.

## Environment variables

watchdog_setup recognizes following environment variables:

`PGPOOL_SETUP`

  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.

`PGPOOL_INSTALL_DIR`

  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.

`PGPOOLDIR`

  Specifies the path to Pgpool-II configuration files. The default is PGPOOL_INSTALL_DIR/etc.

`PGBIN`

  Specifies the path to PostgreSQL commands such as initdb, pg_ctl and psql. The default is /usr/local/pgsql/bin.

`PGLIB`

  Specifies the path to PostgreSQL shared libraries. The default is /usr/local/pgsql/lib.

`PGSOCKET_DIR`

  Specifies the path to Unix socket directory. The default is /tmp.

`INITDBARG`

  Specifies the arguments for initdb command. The default is "--no-locale -E UTF_8".

## Example

        $ watchdog_setup
        Starting set up
        ============= setting up pgpool 0 =============
        Starting 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 postgresql.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 postgresql.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 =============
        Starting 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 postgresql.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 postgresql.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 =============
        Starting 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 postgresql.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 postgresql.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

Prev | Home | Next
pgpool_setup | Up | SQL type commands