pgpool-II 4.3.7 Documentation
Prev | Up |  | Next

# pcp_promote_node

## Name

pcp_promote_node -- promotes the given node as new main to Pgpool-II

## Synopsis

`pcp_promote_node` [`options`...] [`node_id`] [`gracefully`] [`switchover`]

## Description

`pcp_promote_node` promotes the given node as new primary to Pgpool-II. In streaming replication mode only. Please note that this command does not actually promote standby PostgreSQL backend unless `switchover` option is specified: it just changes the internal status of Pgpool-II and trigger failover and users have to promote standby PostgreSQL outside Pgpool-II.

If `switchover` is specified, Pgpool-II detaches current primary (changes the internal status to down) and execute the failover_command, with the new main node argument to be set to the specified node id. Because most failover scripts promote the new main node, the specified node will be the new primary node. The follow_primary_command is necessary to be set properly to turn the former primary into standby.

`pcp_promote_node` executes followings if `switchover` is not specified. Please be warned that if follow_primary_command is set, the command will be executed. It is a standard advice that you disable follow_primary_command before executing this command.

1. Change the status of standby PostgreSQL from standby to primary. It just changes the internal status of Pgpool-II and it does not actually promote PostgreSQL standby server.

2. Change the status of PostgreSQL node which is not specified by this command's argument to down. It just changes the internal status of Pgpool-II and it does not actually make PostgreSQL standby server down.

3. If follow_primary_command is set, execute follow_primary_command against PostgreSQL.

`pcp_promote_node` executes followings if `switchover` is specified. If follow_primary_command is set, the command will be executed. You need to set follow_primary_command before executing this command because failover script will create the new primary and other nodes need to be turned into standbys

1. Change the status of primary PostgreSQL from up to down. This triggers failover_command execution, with the new main node argument to be set to the specified node id. Because most failover scripts promote the new main node, the specified node will become the new primary node.

2. Change the status of standby PostgreSQL node which is not specified by this command's argument to down. It just changes the internal status of Pgpool-II and it does not actually make PostgreSQL standby server down.

3. If follow_primary_command is set, execute follow_primary_command against PostgreSQL.

## Options

`-n `node_id``
`--node-id=`node_id``

  The index of backend node to promote as new main. The specified node must be in "up" or "waiting" status.

`-g`
`--gracefully`

  Wait until all clients are disconnected (unless client_idle_limit_in_recovery is -1 or recovery_timeout is expired).

`-s`
`--switchover`

  Let the specified node to be actually promoted by triggering the failover_command. Also change the current primary node status to down.

`Other options`

  See pcp_common_options.

Prev | Home | Next
pcp_attach_node | Up | pcp_stop_pgpool