DOKK / manpages / debian 12 / pgpool2 / watchdog_setup.1.en
WATCHDOG_SETUP(1) pgpool-II 4.3.5 Documentation WATCHDOG_SETUP(1)

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

watchdog_setup [option...]

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(1) as a workhorse.

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

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), i (snapshot isolation mode), s (streaming replication mode), l (logical 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.

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".


$ 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 primary 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 primary 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 primary 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 Member Remote Nodes : 2 Nodes required for quorum: 2
Quorum state : QUORUM EXIST
Alive Remote Nodes : 2
VIP up on local node : NO
Leader Node Name : Linux_tishii-CF-SX3HE4BP_50004
Leader 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 Membership Status : MEMBER
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 : LEADER Membership Status : MEMBER
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 Membership Status : MEMBER

2023 pgpool-II 4.3.5