pcp_promote_node

名前

pcp_promote_node --  Pgpool-II のノードをプライマリに昇格させる

概要

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

説明

pcp_promote_nodePgpool-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を無効にしてからこのコマンドを実行することをお勧めします。

  1. 指定されたスタンバイPostgreSQLのステータスをstandbyからprimaryに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQL のスタンバイサーバを昇格するわけではありません。

  2. 引数で指定された以外のPostgreSQLノードのステータスをdownに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQLのスタンバイサーバをダウンさせるわけではありません。

  3. follow_primary_commandが設定されている場合は、2でダウンさせたPostgreSQLノードに対してfollow_primary_commandを実行します。

switchoverが指定されていれば、pcp_promote_nodeは、起動された後以下を行います。 follow_primary_commandが設定されている場合はそれも起動されます。 フェイルオーバースクリプトは、新しいプライマリを作り、他のノードはスタンバイになる必要があるので、このコマンドを実行する前に、follow_primary_commandを設定する必要があります。

  1. プライマリPostgreSQLノードのステータスをdownに変更します。 これにより、新しいメインノード引数に指定されたノードIDが設定された上でfailover_commandが起動します。 ほとんどのフェイルオーバースクリプトはメインノードを昇格させるので、指定されたノードは新しいプライマリになります。

  2. 引数で指定された以外のPostgreSQLノードのステータスをdownに変更します。 これはPgpool-II の内部ステータスを変更するだけで、実際にPostgreSQLのスタンバイサーバをダウンさせるわけではありません。

  3. follow_primary_commandが設定されている場合は、2でダウンさせたPostgreSQLノードに対してfollow_primary_commandを実行します。

オプション

-n node_id
--node-id=node_id

プライマリに昇格させるバックエンドノードのインデックスを指定します。 指定するノードは"up"あるいは"waiting"状態でなければなりません。

-g
--gracefully

すべてのクライアントが接続を終了するまでノードを復帰しません。 (ただし、client_idle_limit_in_recovery が -1 あるいは、 recovery_timeout が設定されている場合を除く)

-s
--switchover

failover_commandを起動することにより、指定されたノードを実際に昇格させます。 また、現在のプライマリの状態をダウンにします。

その他

pcp_common_options を参照してください。