[英]Run PostgreSQL streaming replication synchronous and asynchronous simultaneously
我正在使用 PostgreSQL 14 和 ubuntu 作為我的操作系統。
誰能幫我解決這些問題?
是的,您可以同時運行它。
您應該在主節點中具有此配置:
listen_addresses = '*'
port = 5432
wal_level = hot_standby
max_wal_senders = 16
wal_keep_segments = 32
synchronous_commit = on
synchronous_standby_names = 'pgsql_0_node_0'
重新啟動節點以進行更改:
$ systemctl restart postgresql-14
創建復制角色:
$ CREATE ROLE replication_user WITH LOGIN PASSWORD 'PASSWORD' REPLICATION;
並在您的備用節點中進行配置:
兩個都:
wal_level = hot_standby
hot_standby = on
同步:
standby_mode = 'on'
promote_trigger_file='/tmp/failover_5432.trigger'
recovery_target_timeline=latest
primary_conninfo='application_name=pgsql_0_node_0 host=PRIMARY_NODE port=5432 user=replication_user password=PASSWORD'
用正確的值替換 PRIMARY_NODE、用戶和密碼。
異步:
promote_trigger_file='/tmp/failover_5432.trigger'
recovery_target_timeline=latest
primary_conninfo='application_name=pgsql_0_node_1 host=PRIMARY_NODE port=5432 user=replication_user password=PASSWORD'
用正確的值替換 PRIMARY_NODE、用戶和密碼。
重新啟動節點以進行更改:
$ systemctl restart postgresql-14
然后,您可以在主節點中運行此命令以查看復制節點:
$ SELECT pid,usename,application_name,state,sync_state FROM pg_stat_replication;
pid | usename | application_name | state | sync_state
-------+------------------+------------------+-----------+------------
10951 | replication_user | pgsql_0_node_1 | streaming | async
10952 | replication_user | pgsql_0_node_0 | streaming | sync
(2 rows)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.