网站数据库服务器怎么启动,启动数据库服务器
有幾個非常常見的原因會導致服務器啟動失敗。通過檢查服務器日志或者使用手工啟動的方法
(不做 stdout 和 stderr 的重定向),就可以看到錯誤消息。下面我們更詳細地解釋了其中一些錯誤消息。
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
FATAL: could not create TCP/IP listen socket
就像它提示的那樣:你試圖在已經有一個服務器運行著的端口上再運行了一個服務器。不過,
如果內核的錯誤消息不是Address already in use或者是其它的變種,
那就有可能是別的毛病。比如,試圖在一個保留的端口上運行服務器會收到下面這樣的信息:$ postgres -p 666
LOG: could not bind IPv4 socket: Permission denied
HINT: Is another postmaster already running on port 666? If not, wait a few seconds and retry.
FATAL: could not create TCP/IP listen socket
像這樣的信息:FATAL: could not create shared memory segment: Invalid argument
DETAIL: Failed system call was shmget(key=5440001, size=4011376640, 03600).
可能意味著內核對共享內存區的限制小于PostgreSQL試圖分配的緩沖區大小
(本例中是 4011376640 字節)。或者可能意味著你根本就沒有配置 System-V 風格的共享內存支持。
作為一個臨時的解決辦法,你可以試著以小于正常數量的緩沖區數(shared_buffers)
啟動服務器。你最終還是會希望重新配置內核,以增加共享內存的尺寸。
如果你試圖在同一臺機器上啟動多個服務器,而且它們所需的總空間超過了內核的限制,也會報這個錯。
像下面這樣的錯誤:FATAL: could not create semaphores: No space left on device
DETAIL: Failed system call was semget(5440126, 17, 03600).
并不意味著著你已經用光磁盤空間了。它的意思是內核的
System V信號燈的限制小于PostgreSQL想創建的數量。
和上面一樣,你可以通過減少允許的連接數(max_connections)來繞開,
但最終你還是會希望修改內核的限制。
如果你收到一個"illegal system call"錯誤,那么很有可能是內核根本不支持共享內存或者信號燈。
如果是這樣的話,你唯一的選擇就是重新配置內核并且把這些特性打開。
關于配置系統System V IPC資源的細節見第 17.4.1 節。
總結
以上是生活随笔為你收集整理的网站数据库服务器怎么启动,启动数据库服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 清华大学 计算机 林伟,研究人员
- 下一篇: linux cmake编译源码,linu