2015-06-16 81 views
1

我們在不同的服務器上有postgresql複製。所以今天我在做複製集羣postgresql.conf無法啓動postgresql複製

一些優化做複製後,我重新啓動這個命令的PostgreSQL:

pg_ctlcluster 9.2 main2 restart 

但不是重新啓動,它給了這個錯誤:

The PostgreSQL server failed to start. Please check the log output. 

並查看日誌,我看到:

2015-06-16 12:18:16 EEST [10655]: [2-1] LOG: received smart shutdown request 
2015-06-16 12:18:16 EEST [10661]: [2-1] FATAL: terminating walreceiver process due to administrator command 
2015-06-16 12:18:16 EEST [10658]: [1-1] LOG: shutting down 
2015-06-16 12:18:16 EEST [10658]: [2-1] LOG: database system is shut down 

現在檢查日誌會顯示上次重新啓動日誌,但是當我嘗試啓動服務器時,日誌不會更新。它說檢查日誌,但沒有新的信息,即使我嘗試再次啓動服務器。

P.S.我需要對主人做什麼嗎?

更新

更改postgresql.conf設置恢復,開始複製。但是從錯誤中很難判斷出了什麼問題。

這裏設置我改變了(他們改變之後,他們一樣對主人當我評論它,只有這樣我可以開始複製。):

shared_buffers = 1536MB 
effective_cache_size = 3072MB 
checkpoint_segments = 15 
checkpoint_completion_target = 0.9 
autovacuum = on 
track_counts = on 
work_mem = 25MB 

因此,正如我所說,評論這些後,我可以開始它。但不要理解爲什麼它不會讓這些設置開始。

回答

0

如果我是你,並且如果升級是一個選項,我會做的第一件事就是升級到PostgreSQL 9.4(或更新版本)。當涉及到複製時,有一個很好的理由 - 稱爲「複製槽」的新功能(請參閱the announcement)。

簡而言之:複製插槽比WAL歸檔更強大,更易於實現(您顯然根據日誌使用)。

this post中,您可以找到關於實現該功能的全面指南。