pcp_promote_node は Pgpool-II のノードをプライマリに昇格させます。 これは、ストリーミングレプリケーション構成の場合のみ使用できます。 switchoverオプションが指定されない限り、このコマンドは実際に PostgreSQL のスタンバイサーバを昇格するわけではないことに注意してください。 単に Pgpool-II の内部ステータスを変更するだけです。 ですから、ユーザはこのコマンドを使う際には自分で PostgreSQL のスタンバイを昇格させるようにしてください。
switchoverが指定されると、Pgpool-IIは現在のプライマリを切り離し(内部状態をダウンにします)、新しいメインノード引数に指定されたノードIDをセットしながらfailover_commandを起動します。 ほとんどのフェイルオーバースクリプトはメインノードを昇格させるので、指定されたノードは新しいプライマリになります。 以前のプライマリをスタンバイにするには、follow_primary_commandが正しく設定されていることが必要です。
switchoverが指定されていなければ、pcp_promote_nodeは、起動された後以下を行います。 follow_primary_commandが設定されている場合はそれも起動されるので、十分な注意が必要です。 通常はfollow_primary_commandを無効にしてからこのコマンドを実行することをお勧めします。
指定されたスタンバイPostgreSQLのステータスをstandbyからprimaryに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQL のスタンバイサーバを昇格するわけではありません。
引数で指定された以外のPostgreSQLノードのステータスをdownに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQLのスタンバイサーバをダウンさせるわけではありません。
follow_primary_commandが設定されている場合は、2でダウンさせたPostgreSQLノードに対してfollow_primary_commandを実行します。
switchoverが指定されていれば、pcp_promote_nodeは、起動された後以下を行います。 follow_primary_commandが設定されている場合はそれも起動されます。 フェイルオーバースクリプトは、新しいプライマリを作り、他のノードはスタンバイになる必要があるので、このコマンドを実行する前に、follow_primary_commandを設定する必要があります。
プライマリPostgreSQLノードのステータスをdownに変更します。 これにより、新しいメインノード引数に指定されたノードIDが設定された上でfailover_commandが起動します。 ほとんどのフェイルオーバースクリプトはメインノードを昇格させるので、指定されたノードは新しいプライマリになります。
引数で指定された以外のPostgreSQLノードのステータスをdownに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQLのスタンバイサーバをダウンさせるわけではありません。
follow_primary_commandが設定されている場合は、2でダウンさせたPostgreSQLノードに対してfollow_primary_commandを実行します。
プライマリに昇格させるバックエンドノードのインデックスを指定します。
すべてのクライアントが接続を終了するまでノードを復帰しません。 (ただし、client_idle_limit_in_recovery が -1 あるいは、 recovery_timeout が設定されている場合を除く)
failover_commandを起動することにより、指定されたノードを実際に昇格させます。 また、現在のプライマリの状態をダウンにします。
pcp_common_options を参照してください。