PostgreSQLのストリーミングレプリケーションで、更新が完了したはずなのにデータがスレーブに反映されていない場合があるPostgreSQL 同期レプリケーション? PostgreSQL9.1以降でストリームレプリケーションを設定するとき、postgresql.confでsynchronous_commitをon(デフォルト)にしておくと、同期レプリケーションで動作します。 「同期」と聞くと、以下のような動作じゃないかと思いますよね。例としてinsertを考えます。また、単純化するためにスレーブも1台とします。 アプリケーションからマスターDBにinsertを発行 マスターDBがinsertを実行。自身に反映される insertの内容がスレーブDBに送られる スレーブDBにinsertの内容が反映される マスターはアプリに「insert完了」と通知する insertが全てのノードに適用