如何将 Postgresql 更改为侦听端口 5432?

Big*_*igJ 8 postgresql postgresql-9.3 postgresql-9.6

我已经在我的机器上将 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 
Run Code Online (Sandbox Code Playgroud)

我还尝试设置环境变量并重新启动 postgres:

PGPORT=5432; export PGPORT
Run Code Online (Sandbox Code Playgroud)

再次,仍然在 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"?
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

的输出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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

小智 1

你的 postgresql.conf 文件中应该有一行:

端口=1486

改变这一点。

该文件的位置可能会有所不同,具体取决于您的安装选项。在基于 Debian 的发行版上是

/etc/postgresql/8.3/main/

在 Windows 上是

C:\Program Files\PostgreSQL\9.3\data

  • 也许你可以再读一遍这个问题;OP 说他已经这样做了。 (2认同)