Postgresql-11

將預設埠號從 5432 更改為 5332 時,為什麼會出現 unix domain socket 錯誤?

  • April 30, 2021

我成功地按照此處找到的 Centos 7 上的 Postgres 11 安裝說明進行操作。我能夠成功地創建模式/表並通過埠 5432 將數據插入到數據庫中,沒有任何問題。

現在我想將預設埠更改為 5332 (或其他,沒關係),我做了以下事情:

vi /var/lib/pgsql/11/data/postgresql.conf

更改了行:

#port = 5432                            # (change requires restart) 

看起來像:

port = 5332                            # (change requires restart) 

然後通過執行以下操作重新啟動 postgres 服務:

systemctl restart postgresql-11.service

然後我更改為 postgres 使用者:

su - postgres
psql

我收到以下錯誤消息:

sql: could not connect to server: No such file or directory
   Is the server running locally and accepting
   connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

所以顯然在某處還有另一個埠 5432 的引用,但我找不到它。

僅供參考,如果我撤消上面所做的更改(在文件 /var/lib/pgsql/11/data/postgresql.conf 中),那麼一切都會在預設埠 5432 上再次完美執行。

我還需要做什麼才能讓 postgres 在不同的埠上執行?

您可能更改了 PostgreSQL 數據庫的埠,但沒有更改客戶端。

試試這個:

  1. 5332更新您的 PostgreSQL 配置以再次使用埠
  2. 通過在嘗試連接時傳遞埠號來測試:
psql -p 5332
  1. 如果一切正常,請更改命令行客戶端的預設埠,如下所示:
PGPORT=5332; export PGPORT

現在所有呼叫都psql將像使用-p 5332命令行選項呼叫它一樣。

引用自:https://dba.stackexchange.com/questions/290770