PGPOOL_SETUP(1)

NAME
pgpool_setup - Create a temporary installation of Pgpool-II cluster

SYNOPSIS

pgpool_setup [option...]

DESCRIPTION

pgpool_setup creates a temporary installation of Pgpool-II cluster, which includes a Pgpool-II installation and specified number of PostgreSQL installations under current directory. Current directory must be empty before running pgpool_setup.

pgpool_setup is for testing purpose only and should not be used to create production installations.

Currently pgpool_setup supports streaming replication mode, native replication mode and raw mode. To support watchdog, see watchdog_setup(1) for details.

OPTIONS

pgpool_setup accepts the following command-line arguments:

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

-p base_port
    Specify the base port number used by Pgpool-II and PostgreSQL. Pgpool-II port is base_port. pcp port is base_port + 1. The first PostgreSQL node's port is base_port + 2, second PostgreSQL node's port is base_port + 3 and so on.

    If -pg option is specified, the first PostgreSQL node's port is assigned to pg_base_port, the second PostgreSQL node's port is pg_base_port + 1 and so on.

    If this is omitted, 11000 is used.

-pg pg_base_port
    Specify the base port number used by PostgreSQL. The first PostgreSQL node's port is base_port + 2, second PostgreSQL node's port is base_port + 3 and so on.

    If this is omitted, base_port+2 is used.

--no-stop
    Do not stop pgpool and PostgreSQL after the work.

-d
    Start pgpool with debug mode.

ENVIRONMENT VARIABLES

pgpool_setup recognizes following environment variables:

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

    $ pgpool_setup
    Satrting set up in streaming replication mode
    creating startall and shutdownall
    creating failover script
    creating database cluster /home/t-ishii/tmp/test/data0...done.
    update postgreql.conf
    creating pgpool_remote_start
    creating basebackup.sh
    creating recovery.conf
    creating database cluster /home/t-ishii/tmp/test/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     | 11002 | up     | 0.500000  | primary | 0          | true              | 0
     1       | /tmp     | 11003 | 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     | 11002 | up     | 0.500000  | primary | 0          | false             | 0
     1       | /tmp     | 11003 | 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/tmp/test/startall.
    To shutdown the whole system, use /home/t-ishii/tmp/test/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 11002
    #2 port is 11003
    pgpool port is 11000
    pcp port is 11001
    The info above is in README.port.
    $ ls
    README.port  bashrc.ports  data1  log	   pgpool_reload     run	  startall
    archivedir   data0	   etc	  pcppass  pgpool_setup.log  shutdownall
    $ ./startall
    waiting for server to start....11840 2016-08-18 13:08:51 JST LOG:  redirecting log output to logging collector process
    11840 2016-08-18 13:08:51 JST HINT:  Future log output will appear in directory "pg_log".
     done
    server started
    waiting for server to start....11853 2016-08-18 13:08:52 JST LOG:  redirecting log output to logging collector process
    11853 2016-08-18 13:08:52 JST HINT:  Future log output will appear in directory "pg_log".
     done
    server started
    $ psql -p 11000 test
    Pager usage is off.
    psql (9.5.4)
    Type "help" for help.
    test=# show pool_nodes;
     node_id | hostname | port  | status | lb_weight |  role   | select_cnt | load_balance_node | replication_delay
    ---------+----------+-------+--------+-----------+---------+------------+-------------------+-------------------
     0       | /tmp     | 11002 | up     | 0.500000  | primary | 0          | false             | 0
     1       | /tmp     | 11003 | up     | 0.500000  | standby | 0          | true              | 0
    (2 rows)