Postgresql

如何更改 Postgresql 以偵聽埠 5432?

  • November 13, 2021

我已經在我的機器上將 Postgresql 從 9.3 升級到了 9.6(linux mint rafaella-so ubuntu 14.04)

由於以前的版本在 5432 上監聽,新版本在 5433 上監聽,但我想將其更改為 5432,以便以前的配置(rails、phppgadmin 等)與新的 postgres 伺服器一起使用。

我已將 postgresql.conf 中的埠從 5433 更改為 5432 並重新啟動 postgres,但這不起作用:

$ sudo netstat -nltp |grep 5432     
$ sudo netstat -nltp | grep 5433
tcp        0      0 127.0.0.1:5433          0.0.0.0:*               LISTEN      25467/postgres 

我還嘗試設置環境變數並重新啟動 postgres:

PGPORT=5432; export PGPORT

再一次,仍然在聽 5433 而在 5432 上什麼也沒聽。

嘗試連接給了我:

$ sudo -u postgres psql postgres 
psql: 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"?

我究竟做錯了什麼?

輸出pg_lsclusters

$ pg_lsclusters 
Ver Cluster Port Status Owner    Data directory               Log file 
9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log

pg_hba.conf 的內容:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             postgres                                peer
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

ypercubedeszo能夠啟動並執行該使用者的環境(根據聊天記錄)。

鑰匙似乎在執行:

sudo pg_ctlcluster 9.6 main restart

但不以 postgres 使用者身份執行它。

查看聊天記錄了解更多詳情。

您的 postgresql.conf 文件中應該有一行內容:

埠 = 1486

改變那個。

該文件的位置可能因您的安裝選項而異。在基於 Debian 的發行版上,它是

/etc/postgresql/8.3/main/

在 Windows 上是

C:\Program Files\PostgreSQL\9.3\data

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