私のアプリケーションには信頼性の高いSQL DBが必要で、Postgresqlのストリーミングレプリケーションサポートを検討しています。マスター/スレーブレプリケーションをセットアップするのは難しくなく、スレーブを読み取り専用クエリのホットスタンバイとして使用できます。これまでのところすべて良い。しかし、マスターに障害が発生した場合(またはスレーブがマスターに障害が発生したとスレーブが判断した場合)、スレーブをマスターに自動的に昇格させる方法を教えてください。私はそれをマスターにするためにスレーブにファイルを書き込むことができることを知っていますが、それを行うためのスクリプトなどを探しています(そしてマスターがダウンしていることを確認するなど)。
Ubuntu 12.04でこれを行う方法に関する素晴らしいチュートリアルを知っている人はいますか?ヘッツナーでホストされていますか(ボーナスポイントの場合)?シェフのレシピか何か?
repmgr をご覧ください。これは、PostgreSQLの組み込みレプリケーションを使用してフェイルオーバーとスイッチオーバーを管理することを目的とした無料のソフトウェア製品です。
最近、スクリプトでタスクを実行するのは簡単ではありません。一般的に言えば、私たちは手作業で作業を行うべきです。プライマリノードとスタンバイノードの間で役割を切り替える必要がある場合、まず、スタンバイノードをプライマリノードに簡単にアクティブ化できます(スタンバイノードでトリガーファイルを作成するだけです)。ただし、プライマリノードをスタンバイノードに切り替えるのは簡単ではありません。複雑な手順が必要だからです。