Postgresql
PostgreSQL:pg_rewind 抱怨 wal_log_hints = on not been set,它是
我對 pg 比較陌生,所以請多多包涵。
我已經設置了兩台主機並在兩台主機上都安裝了 pg10。然後我在它們之間配置了日誌流複製。這工作得很好。
我想測試故障轉移,所以我在 Primary 上停止了 postgresql 服務並在 Standby 上創建觸發器文件,這也有效。我檢查了一下,我的待機不再處於恢復模式。
現在我想將舊的主節點恢復為新的備用節點。我嘗試使用 pg_rewind 但它給了我以下錯誤消息
/usr/lib/postgresql/10/bin/pg_rewind --target-pgdata=/var/lib/postgresql/10/main --source-server="host=server2ip port=5432 user=postgres" target server needs to use either data checksums or "wal_log_hints = on" Failure, exiting
我
wal_log_hints = on
在兩台伺服器上都設置了。任何人都可以幫我弄清楚如何讓它工作。
以下是我在兩台伺服器上的設置。主節點失敗之前的複制效果很好。
以下是我在 postgresql .conf 中更改的行
listen_addresses = '*' max_connections = 200 tcp_keepalives_idle = 60 tcp_keepalives_interval = 10 tcp_keepalives_count = 5 wal_level = replica wal_log_hints = on archive_mode = on archive_command = '/bin/true' max_wal_senders = 5 wal_keep_segments = 5000 max_replication_slots = 5 effective_cache_size = 2GB
我還在 pg_hba.conf 文件中添加了以下幾行
host all postgres server1ip/24 trust host all postgres server2ip/24 trust
最後我創建瞭如下的 recovery.conf 文件。
standby_mode = 'on' primary_conninfo = 'host=sciontsdbbc01 port=5432 user=replicate password=rep-password' trigger_file = '/tmp/PG_MasterNow'
我在兩台伺服器上都設置了 wal_log_hints = 。
但是想必是設置的太晚了,也就是在生成後至少有一些WAL文件參與rewind(在
pg_wal
目錄中)。