PostgreSQL 17 : ストリーミングレプリケーション2025/11/25 |
|
PostgreSQL のストリーミングレプリケーションの設定です。 |
|
| [1] |
こちらの [1] を参考に、プライマリー/レプリカ 全ホストに PostgreSQL サーバーをインストールしておきます。 |
| [2] | プライマリー側ホストの設定です。 |
|
www:~ #
vi /var/lib/pgsql/data/postgresql.conf # 60行目 : コメント解除して変更 listen_addresses = ' * '
# 221行目 : コメント解除 wal_level = replica # 226行目 : コメント解除 synchronous_commit = on # 329行目 : コメント解除 (レプリケーションリクエストを受ける接続最大値) max_wal_senders = 10 # 343行目 : コメント解除して変更 synchronous_standby_names = ' * '
www:~ #
vi /var/lib/pgsql/data/pg_hba.conf # 最終行 : 既存設定はコメント化して追記 (接続許可の設定) # host replication [レプリケーションユーザー] [接続許可IP] [認証方式] # SSL 接続する場合は [hostssl replication ***] #host replication all 127.0.0.1/32 ident #host replication all ::1/128 ident host replication rep_user 10.0.0.30/32 scram-sha-256 host replication rep_user 10.0.0.51/32 scram-sha-256 # レプリケーション用ユーザー作成 www:~ # su - postgres postgres@www:~> createuser --replication -P rep_user Enter password for new role: # 任意のパスワード設定 Enter it again:
postgres@www:~>
www:~ # exit
systemctl restart postgresql
|
| [3] | レプリカ側ホストの設定です。 |
|
# プライマリー側のデータバックアップを取得 node01:~ # su - postgres postgres@node01:~> pg_basebackup -R -h www.srv.world -U rep_user -D /var/lib/pgsql/data -P Password: # レプリケーション用ユーザーのパスワード 31510/31510 kB (100%), 1/1 tablespace postgres@node01:~> exit
node01:~ #
vi /var/lib/pgsql/data/postgresql.conf # 60行目 : コメント解除して変更 listen_addresses = ' * '
# 356行目 : コメント解除 hot_standby = on systemctl start postgresql |
| [4] | Firewalld を有効にしている場合は、全ノードでサービスの許可が必要です。 |
|
www:~ # firewall-cmd --add-service=postgresql success www:~ # firewall-cmd --runtime-to-permanent success |
| [5] | プライマリーサーバー側で SQL 実行し、以下のような結果が返ってくれば OK です。 プライマリーサーバー側データベースを作成する等してレプリケーションが行われていることも確認しておくとよいでしょう。 |
|
postgres@www:~> psql -c "select usename, application_name, client_addr, state, sync_priority, sync_state from pg_stat_replication;" usename | application_name | client_addr | state | sync_priority | sync_state ----------+------------------+-------------+-----------+---------------+------------ rep_user | walreceiver | 10.0.0.51 | streaming | 1 | sync (1 row) |
| Sponsored Link |
|
|