2010-09-01 72 views
48

是否有運行/etc/init.d/postgresql restart什麼危險?我們剛剛發生了一些事件,一些關係「消失」了,我執行了上述命令。剛剛被系統管理員吵醒了,但他沒有證明爲什麼這是一件壞事。我確實將Web應用程序置於維護模式,因此當時沒有任何事務/查詢正在進行。重新啓動Postgres的


謝謝你們......總而言之,它不會損害任何東西,但它可能會失去大量有價值的診斷信息。

+1

你的意思是「他沒有理由」? – JanC 2010-09-01 17:27:15

+15

另外,小注。在大多數系統上,命令是/etc/init.d/postgresql restart – keithhackbarth 2013-01-02 17:52:27

回答

45

沒有,沒有使用的init.d方法重新啓動的Postgres的危險。

然而,重新啓動它,因爲奇怪的事情發生了是不是一個好主意,因爲它嚴重限制的信息,您可以收集到找到問題的根源,並限制的機會來解決它的量。

此外,在我曾經參與的PostgreSQL的所有日子裏,我從來沒有遇到過一種情況,即重啓「固定」的問題。直接的「事件」可能會得到解決,但如果出現問題,它仍然會在那裏。

+1

謝謝。我知道它不能解決路由問題,但系統管理員不可用,客戶希望他們的站點備份。 – Simon 2010-09-02 08:40:59

+2

您可能需要密切關注它和/或編寫一個腳本,定期檢查錯誤情況是否再次出現,以便下次有更多時間在客戶呼叫之前收集數據並修復問題。 – 2010-09-02 08:47:42

3

關係不會消失,因爲重新啓動,你可能會失去一些運行的事務,但僅此而已。 PostgreSQL在重新啓動時不會破壞數據庫,不用擔心。

5

的唯一途徑關係將消失的Postgres的重啓,將如果他們臨時表或打開的事務中創建的關係。當數據庫重新啓動時,它將關閉所有連接,因此所有臨時表將被丟棄,並且打開的事務將被回滾。但是任何承諾的東西都可以在重啓時安全無虞。