我最近升级到NATTY(Ubuntu 11.04),现在我的postgresql似乎没有连接。
我正在使用pgadmin3,它引发以下错误:
无法连接到服务器:连接被拒绝服务器运行在主机“本地主机”,并接受端口5432上的TCP / IP连接? 无法连接到服务器:连接被拒绝服务器运行在主机“本地主机”,并接受端口5432上的TCP / IP连接?
在terminal上键入psql会出现以下错误:
psql:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行,并接受连接在Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”?
以下是var/run/postgresql/
total 8 drwxrwsr-x 2 postgres postgres 100 2011-05-15 14:35 . drwxr-xr-x 19 root root 720 2011-05-15 14:35 .. -rw------- 1 postgres postgres 5 2011-05-15 14:35 8.4-main.pid srwxrwxrwx 1 postgres postgres 0 2011-05-15 14:35 .s.PGSQL.5433 -rw------- 1 postgres postgres 34 2011-05-15 14:35 .s.PGSQL.5433.lock
netstat显示
sudo netstat -lp | grep postgresql unix 2 [ ACC ] STREAM LISTENING 7763 1025/postgres /var/run/postgresql/.s.PGSQL.5433
我相信问题是,它的目标是从5432开始,但是应该从5433开始,但是如何改变这个?
Postgres的默认端口是5432.因此,除非另外指定,否则所有工具(pgadmin3,psql)将默认使用此端口。
您的Pg在端口5433上运行。因此,要连接任何工具,您必须手动指定端口号。 在pgadmin3上,它是连接GUI中的一个文本框(如果我没有记错的话)。 psql采用--port选项,如下所示:
psql --port 5433 [database]
我刚刚升级了PostgreSQL,遇到了同样的问题。 问题是我的新的postgres服务器运行版本(9.1)与我的旧服务器运行版本(8.4)并行安装。 我猜默认configuration是运行在一个替代端口(5433)。
所以我的解决scheme是确保新的服务器在5432上运行。
所以编辑你的postgresconfiguration
sudo -u postgres gedit /etc/postgresql/9.1/main/postgresql.conf
确保端口是5432:
port = 5432
并通过发出以下命令重新启动postgres服务器:
sudo -u postgres /etc/init.d/postgresql restart
未经testing的替代scheme是在安装新版本之前首先卸载旧的postgres服务器。