PostgreSQL15に非同期レプリケーションを設定してDBサーバーをリアルタイムでバックアップ

Posted on Feb 25, 2023

概要

PostgreSQL15に非同期レプリケーションを設定してDBサーバーをリアルタイムでバックアップする方法です。

  • 非同期なので速度には影響しない
  • 主にDBを遠隔地にあるサーバーにリアルタイムバックアップしたいときなどに使う

やり方

pg_hba.confとかは普通のDBのレプリケーションと基本は同じですが以下の点が違う

/etc/postgresql/15/main/postgresql.conf

# こうしないとDBが巨大な場合、転送中にWALの期限が切れてbasebackupコマンドが通らなくなる
archive_mode = on

# 同期しない設定
synchronous_commit = off
synchronous_standby_names = ''

後は普通のレプリケーションと同じようにpg_basebackupを使ってDBをコピーして起動させるだけ。レプリカ側のhot_standbyとかはお好みで。