2004/06/11(金)PostgreSQL の二重化

2017/10/12 3:34 サーバ運営・管理
 PGClaster を使いたかったのですが、対応する PostgreSQL コアが7.3.4/7.3.6 ベースなので、
 先に 7.4.2 を入れてしまった環境では、待ちの姿勢の方が良い(7.4.2 ベースは開発中ですが、苦労されているようです)
 だろうということで、標準でバンドルされている DBMirror というものを採用しました。
 情報がすくなく、かろうじて これ が唯一非常に参考になる情報でしたが、実際に動作させると、
 ミラーリング処理で「Permission denied」的なエラーがでまくりでした。
 権限の問題ということは判ったのですが、ひとつだけ serial 型のスキーマがどうしても「Permission denied」
 になり、どうしようもない状態になりましたが、マニュアル漁っていると、serial 型は内部でテーブルを作って
 動作させている、ということがヒントになり、通常のテーブルと同じように考えることで、権限の問題を解消しました。
 おそらく、Postgresスーパーユーザではまず起きない問題でしょう。
 解決するのに3~4時間填まってました +_+)。
 一旦稼働できると、札幌のマシンで更新したデータが、30秒程度後には、東京のマシンに即座に反映するので、
 本当に即時性が必要な用途以外では実用になります。
 DBMirror はスレーブサーバ側には、特に仕掛けは必要ないですが、DBMirror 稼働させる直前のデータを
 スレーブ側に用意しておくことと、生データが流れるので、PostgreSQLを SSL 対応にしておくことが重要だとおもいます。