PostgreSQLのFATAL: terminating connection due to conflict with recovery

PostgreSQLを運用していると時々見る FATAL: terminating connection due to conflict with recovery というエラー、問題になるたびに調べては見るんだけど、中々すっきりとした答えを見付けられないまま、日々が過ぎていたけれど、昨年のre:InventでのAmazon RDS for PostgreSQL Deep Diveの発表の中にめっちゃいい説明があった。iframe埋め込みでの途中から再生のやり方が分からなかったので動画へのリンクのみ。
AWS re:Invent 2014 | (SDD409) Amazon RDS for PostgreSQL Deep Dive

  • vacuum_defer_cleanup_age
  • max_standby_streaming_delay
  • hot_standby_feedback

要件に合わせて、この3種類のパラメータをトレードオフを考えつつ、調整すべしとのこと。詳細は貼付けた動画+公式ドキュメントへ。

Amazon RDS for PostgreSQL Deep Diveというタイトルになってはいますが、ここで紹介した部分だけでなく、PostgreSQL内部の挙動に関してちょいちょいと説明があり勉強になったので、RDSユーザに限らず、自分たちで運用している人も時間が許す時に挑戦してみるといいと思えるおすすめなセッション動画でした。

もうちょっと説明足したの書きました
seikoudoku2000.hatenablog.com