Postgres 異常斷電導致啟動失敗的解決方法

2021-10-09 20:10:26 字數 813 閱讀 2153

前段時間客戶生產伺服器,突然不小心弄斷電了,雖然運維人員重啟服務後,看似能正常訪問,但是出現主從無法正常同步資料問題,而重新啟動服務後,報could not connet to server。。。。postgresql/.s.pgsql.5432,後台日誌出現,accepting tcp/ip connections on port 5432等一串錯誤資訊。突發性斷電導致異常終止,這時資料庫的postmaster.pid 檔案仍健在,但是其實不起作用,在後台資料庫日誌也可以看到如下錯誤資訊,lock file 「postmaster.pid」 already exists,這時建議先cp 備份另存下,以防改錯,然後在直接mv postmaster.pid 遷移到其他地方 ,然後重啟資料庫服務,即可解決問題。而啟動的時候出現啟動失敗,具體情況請看下下面的文章:《postgres啟動失敗問題分析與處理 》。

當我們啟動postgressql時,會在postgresql中的資料資料夾生成postmaster.pid 檔案,該檔案主要是記錄啟動時對應的程序號等相關資訊,如果該檔案已經存在,在啟動時,會導致程序號無法對應,最終啟動失敗,原理如下:

1、26385: 代表postgres主程序的pid

2、/home/postgresql_data: 代表資料目錄

3、5432: 代表資料庫監聽埠,在postgresql.conf中對應port = 5432

4、5432001 229376:代表的是共享記憶體的位址(shared memory segments中的key和shmid)。

異常斷電導致PostgreSQL無法連線

目錄 環境症狀 問題原因 解決方案 環境系統平台 n a 版本 4.1.1 症狀伺服器異常斷電後,使用psql無法連線資料庫 psql could not connect to server no such file or directory is the server running locall...

記錄由於一次強制斷電導致的伺服器無法啟動的恢復過程

from 雜項 年前的某天早上,還是一如既往的上班,解決bug,浮現問題 正當修改除錯 繼續跑結果的時候,發現編譯伺服器一般公司編譯是有專門的伺服器的連不上了,好氣啊,群中詢問原因,說是隔壁的公司將 電閘 給拉下來蛋疼,伺服器所在房間的電源是被別人控制的,發現後立馬跑到隔壁將電閘拉了上來 恩恩,沒事...

mongo副本集ip改變導致啟動失敗的解決方法

在學習mongo時,通常會在虛擬機器中安裝多個linux系統並建立副本集。如果linux系統沒有設定固定ip,ip可能會因為某些原因改變,導致副本集啟動失敗。本文主要介紹如何處理這類問題。如果只有部分ip改變,啟動副本集時某個節點是primary節點。那麼在primary節點中執行如下命令 1 us...