資料庫啟動時發生報錯,致命錯誤: 無法建立訊號量
目錄
環境
系統平臺:Linux x86-64 Red Hat Enterprise Linux 5,Linux x86-64 Red Hat Enterprise Linux 6,Linux x86-64 Red Hat Enterprise Linux 7,中標麒麟_NeoKylin Linux Advanced Server release 6.8 (Calcium) ,中標麒麟_NeoKylinServer7.2_x86-64,普華_iSoft Server OS release 3.0 (Final)
版本:4.1.1
症狀
資料庫啟動時報錯如下:
[[email protected] ~]$ 2018-01-15 11:36:05 CST [2840] : [1-1] user=,db= 致命錯誤: 無法建立訊號量: 裝置上沒有空間
2018-01-15 11:36:05 CST [2840] : [2-1] user=,db= 詳細資訊: semget(5866129, 17, 03600) 系統呼叫失敗.
2018-01-15 11:36:05 CST [2840] : [3-1] user=,db= 提示: 這個錯誤不表示磁碟空間已經用完. 發生的原因有可能超過系統對於最大數量訊號燈集合(由引數SEMMNI表示),或者是對系統範圍內最大可使用訊號燈(由引數SEMMNS表示)的限制.您需要增加這兩個系統核心引數的值。另外也可以通過減小PostgreSQL引數max_connections來減少它所消耗的訊號燈總數.
在PostgreSQL文件中包含了更多關於如何配置PostgreSQL的資訊。
問題原因
由於PostgreSQL引數max_connections和作業系統核心引數kernel.sem設定不匹配導致。
解決方案
可以通過如下任一方式更正此問題。
1.按需設定max_connections大小。
max_connections控制著最大連線數。通過如下方式修改max_connections。
[[email protected] data]$ vi $PGDATA/postgresql.conf
修改max_connections值:
max_connections = 500
修改完畢後依次按"ESC :wq"四個鍵來儲存退出。
[[email protected] data]$ pg_ctl restart
waiting for server to shut down.... done
server stopped
server starting
[[email protected] data]$ 2018-01-15 11:05:36 CST [2185] : [1-1] user=,db= 日誌: 日誌輸出重定向到日誌收集程序
2018-01-15 11:05:36 CST [2185] : [2-1] user=,db= 提示: 後續的日誌輸出將出現在目錄 "pg_log"中.
更多詳細的解決方案請登入【瀚高技術支援平臺】檢視
https://support.highgo.com/#/index/docContent/0d1978059d4ffd