postgresql port confusion 5433 or 5432?
我在OSX上安装了postgresql。 当我运行psql时,我得到了
1 2 3 4 | $ psql psql: could NOT CONNECT TO server: No such file OR directory IS the server running locally AND accepting connections ON Unix DOMAIN socket"/tmp/.s.PGSQL.5433"? |
但是,来自/ etc / services
1 2 3 4 5 | postgresql 5432/udp # PostgreSQL DATABASE postgresql 5432/tcp # PostgreSQL DATABASE # Tom Lane <tgl@sss.pgh.pa.us> pyrrho 5433/tcp # Pyrrho DBMS pyrrho 5433/udp # Pyrrho DBMS |
5433被pyrrho占据,5432被分配给pg。 我可以联系
1 | psql -p 5432 |
但为什么psql认为它是5433,我如何让psql默认在正确的位置?
在PostgreSQL的情况下,如果可用的话,通常使用端口5432。如果不是,大多数安装人员将选择下一个免费端口,通常是5433。
您可以使用
在Mac OS X系统上,由于不同的PostgreSQL软件包 - Apple内置于操作系统的PostgreSQL的古老版本,Postgres.app,Homebrew,Macports,EnterpriseDB安装程序等等,这一点变得更加复杂。
最终发生的是用户安装Pg并从一个包装启动服务器,但使用来自不同包装的
大多数Mac用户只需使用带有
您还可以指定unix套接字目录;检查要连接的PostgreSQL实例的
更清晰的解决方案是更正您的系统
在OSX上快速回答,设置环境变量。
export PGHOST=localhost
export PGPORT=5432
或者无论你需要什么。
Postgres的默认端口通常配置为:
1 | sudo vi /<path TO your installation>/DATA/postgresql.conf |
在Ubuntu上,这可能是:
1 | sudo vi /<path TO your installation>/main/postgresql.conf |
在此文件中搜索
似乎这种情况最常见的原因之一是如果您在不停止现有安装服务的情况下安装新版本的PostgreSQL。这也是我特别头疼的问题。在安装或升级之前,尤其是在OS X上并使用Enterprise DB中的单击安装程序之前,请确保在继续之前检查旧安装的状态。
感谢@ a_horse_with_no_name的评论,我在Pg_env.sh中将我的PGPORT定义更改为5432。这解决了我的问题。我不知道为什么postgres最初将它设置为5433,当它在5432托管服务时。
我也遇到了这个问题,结果我有两个同时运行的postgres服务器。我卸载了其中一个并将端口更改回5432并且现在正常工作。
对于我在Mac OS High Sierra上的PgAdmin 4中,单击左栏中Servers下的PostrgreSQL10数据库,然后在Properties选项卡中,将5433显示为Connection下的端口。 (我不知道为什么,因为我在安装过程中选择了5432)。无论如何,我点击了属性选项卡下的编辑图标,将其更改为5432,保存,这解决了问题。去搞清楚。