Postgresql
如何更改 Postgresql 以偵聽埠 5432?
我已經在我的機器上將 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
ypercube和deszo能夠啟動並執行該使用者的環境(根據聊天記錄)。
鑰匙似乎在執行:
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