2016-03-01 336 views
1

殺不了由於削減PostgreSQL的突然斷電9.3數據庫服務器(CentOS的)下跌,我試圖啓動/停止/重新啓動Postgres的服務器收到此錯誤:無法重新啓動Postgres的服務器和過程

[[email protected]~]# service postgresql-9.3 restart 

    Restarting PostgreSQL 9.3: 
    pg_ctl: PID file "/opt/PostgreSQL/9.3/data/postmaster.pid" does not exist 
    Is server running? 
    starting server anyway 
    waiting for server to start........ stopped waiting 
    pg_ctl: could not start server 
    Examine the log output. 
    PostgreSQL 9.3 did not start in a timely fashion, please see /opt/PostgreSQL/9.3/data/pg_log/startup.log for details 

以下消息是在startup.log文件

2016-03-01 23:24:18 IST LOG: redirecting log output to logging collector process 
2016-03-01 23:24:18 IST HINT: Future log output will appear in directory "pg_log". 

我找到了計算器的問題,但沒有解決方案。 postgresql-service-unable-to-stop-start-restart unable-to-restart-postgresql-server

回答

0

我與postmaster.pid遇到了類似的問題,前一段時間。對我來說,問題在於它沒有被刪除,因此無法重新啓動。對你來說,postmaster.pid似乎並不存在,它預計會在那裏。

如果postmaster.pid確實不存在,你檢入了「/opt/PostgreSQL/9.3/data/」嗎?那時我發現這是一個文件,可以保護您在同一張桌子上進行多次調用。所以也許另一個數據庫正在處理相同的表或類似的東西?希望答案可以給你一些方向。

祝你好運。

+0

裏面的「/選擇/ PostgreSQL/9.3/data /「沒有postmaster.pid文件。 – Pirinthan

0

您可以嘗試在

ps aux 

搜索Postgres的PID,當你找到它,你可以使用

kill -9 postgresPID 

殺死它,我不知道這是否幫助你,但它的工作爲了我。

+0

通常我使用上面的命令。它的工作,但這次上面的命令沒有奏效。 – Pirinthan

1

如果PID文件不存在,請檢查所有使用postgresql數據庫的空閒會話。 ps -ef | grep postgres 使用postgresql殺死所有會話。 檢查數據庫 pg_ctl狀態 pg_ctl的狀態:沒有服務器運行

啓動服務器後: pg_ctl啓動 服務器開始 的Postgres @服務器:〜$ 2016年3月2日11: 44:10 IST日誌:將日誌輸出重定向到日誌收集器進程 2016-03-02 11:44:10 IST提示:將來的日誌輸出將出現在目錄「pg_log」中。

檢查狀態 pg_ctl狀態

pg_ctl:服務器正在運行(PID:51615) /opt/postgres/9.3/bin/postgres