Postgresql
PostgreSQL (TimescaleDB) 非同步複製 (WAL) 不起作用
我正在嘗試設置 PostgreSQL (TimescaleDB) 數據庫的非同步複製。我一直在遵循許多指南,即使在嘗試了文件中的內容之後,它似乎也不起作用。我在 main 和 db 上配置所有內容。然後我去那裡的副本設置,我可以進行手動備份,但自動 straming 永遠不會發生。日誌中沒有關於“WAL”的資訊。我不得不設置錯誤,但這很奇怪,因為正如我所說的手動備份有效。
我檢查了所有內容並嘗試了幾次。並且 main 上的副本插槽永遠不會處於活動狀態。我錯過了什麼?
數據庫系統已準備好接受連接
沒錯
accept connections
,不是數據庫系統已準備好接受只讀連接
這意味著您啟動了一個新的主伺服器,而不是複制。也沒有
entering standby mode
消息。您需要進行另一個基本備份並以待機模式啟動:將空
standby.signal
文件放在數據目錄中。pg_basebackup
with 選項-R
可以放置這個文件並寫入primary_conninfo
對應postgresql.auto.conf
正如 Melkij 所描述的,您沒有做任何事情將其置於流模式,因此您所擁有的只是一個分離的複製,而不是副本。將其配置為流式傳輸的最簡單方法是 give
-R
topg_basebackup
,儘管您可以根據需要手動修改新目錄。同樣,這些插槽沒有被使用,因為你沒有做任何事情來使用它們。如果您添加了
pg_basebackup -R
另一個選項,要求它使用命名插槽,它將使用它來進行備份本身和(通過對 postgresql.auto.conf 所做的更改)來執行副本。