記一次Postgresql異常中斷導致的啟動失敗


由於異常導致了測試服務器的Pg11宕機,啟動時候報錯

2019-06-11 14:20:08.121 CST [9980] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9981] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9964] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9970] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9965] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9958] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9969] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9959] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9960] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9971] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9968] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9976] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:08.121 CST [9972] 致命錯誤:  數據庫系統啟動中
2019-06-11 14:20:10.711 CST [6567] 日志:  啟動進程 (PID 8002) 被信號 6 中斷: Aborted
2019-06-11 14:20:10.711 CST [6567] 日志:  由於啟動進程失敗, 終止啟動
2019-06-11 14:20:10.729 CST [6567] 日志:  數據庫系統已關閉
2019-06-11 14:33:40.325 CST [7610] 日志:  數據庫系統中斷;上一次的啟動時間是在2019-06-11 14:07:23 CST
2019-06-11 14:33:49.939 CST [7610] 日志:  無法取文件 "./pg_logical/replorigin_checkpoint" 的狀態: 沒有那個文件或目錄
2019-06-11 15:46:24.229 CST [8248] 日志:  數據庫系統中斷;上一次的啟動時間是在2019-06-11 14:07:23 CST
2019-06-11 15:46:55.961 CST [8248] 日志:  3/AAA53290 處的記錄長度不合法:想要 24,但得到的是 0
2019-06-11 15:46:55.961 CST [8248] 日志:  無效的主 checkpoint 記錄
2019-06-11 15:46:55.961 CST [8248] 比致命錯誤還過分的錯誤:  無法找到一個有效的 checkpoint 記錄
2019-06-11 15:46:59.764 CST [6724] 日志:  啟動進程 (PID 8248) 被信號 6 中斷: Aborted
2019-06-11 15:46:59.764 CST [6724] 日志:  由於啟動進程失敗, 終止啟動
2019-06-11 15:46:59.793 CST [6724] 日志:  數據庫系統已關閉
2019-06-11 16:03:11.003 CST [8124] 日志:  數據庫系統中斷;上一次的啟動時間是在2019-06-11 14:07:23 CST
2019-06-11 16:03:45.522 CST [8124] 日志:  3/AAA53290 處的記錄長度不合法:想要 24,但得到的是 0
2019-06-11 16:03:45.522 CST [8124] 日志:  無效的主 checkpoint 記錄
2019-06-11 16:03:45.523 CST [8124] 比致命錯誤還過分的錯誤:  無法找到一個有效的 checkpoint 記錄
2019-06-11 16:03:49.013 CST [6509] 日志:  啟動進程 (PID 8124) 被信號 6 中斷: Aborted
2019-06-11 16:03:49.013 CST [6509] 日志:  由於啟動進程失敗, 終止啟動
2019-06-11 16:03:49.030 CST [6509] 日志:  數據庫系統已關閉
2019-06-11 16:49:16.784 CST [8195] 日志:  數據庫系統中斷;上一次的啟動時間是在2019-06-11 14:07:23 CST
2019-06-11 16:49:49.393 CST [8195] 日志:  3/AAA53290 處的記錄長度不合法:想要 24,但得到的是 0
2019-06-11 16:49:49.393 CST [8195] 日志:  無效的主 checkpoint 記錄
2019-06-11 16:49:49.393 CST [8195] 比致命錯誤還過分的錯誤:  無法找到一個有效的 checkpoint 記錄
2019-06-11 16:49:53.214 CST [6758] 日志:  啟動進程 (PID 8195) 被信號 6 中斷: Aborted
2019-06-11 16:49:53.214 CST [6758] 日志:  由於啟動進程失敗, 終止啟動
2019-06-11 16:49:53.238 CST [6758] 日志:  數據庫系統已關閉
2019-06-11 17:41:24.320 CST [11165] 日志:  數據庫系統中斷;上一次的啟動時間是在2019-06-11 14:07:23 CST
2019-06-11 17:41:24.388 CST [11165] 日志:  3/AAA53290 處的記錄長度不合法:想要 24,但得到的是 0
2019-06-11 17:41:24.388 CST [11165] 日志:  無效的主 checkpoint 記錄
2019-06-11 17:41:24.388 CST [11165] 比致命錯誤還過分的錯誤:  無法找到一個有效的 checkpoint 記錄
2019-06-11 17:41:25.244 CST [11163] 日志:  啟動進程 (PID 11165) 被信號 6 中斷: Aborted
2019-06-11 17:41:25.244 CST [11163] 日志:  由於啟動進程失敗, 終止啟動
2019-06-11 17:41:25.284 CST [11163] 日志:  數據庫系統已關閉

應該是事務執行中導致的日志文件丟失,少了啟動必須的文件 

./pg_logical/replorigin_checkpoint

然后psql

bash-4.2$ psql
psql: 無法聯接到服務器: 沒有那個文件或目錄
服務器是否在本地運行並且在 Unix 域套接字
"/var/run/postgresql/.s.PGSQL.5432"上准備接受聯接?
bash-4.2$ ./pg_ctl start
pg_ctl: 沒有指定數據目錄, 並且沒有設置 PGDATA 環境變量

解決方案

步驟0:先用superuser登錄

su postgres

步驟一:重置數據文件

./pg_resetwal -f /var/lib/pgsql/11/data

步驟二:啟動

./pg_ctl start -D /var/lib/pgsql/11/data/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM