我在Ubuntu上安装了PostgreSQL数据库:
sudo apt-get install postgresql
在我的/etc/postgresql/9.1/main/pg_hba.conf中我有这一行:
host all all all password
因此它应接受来自所有IPv4地址的连接,并且密码应以明文形式发送(这是出于开发原因).
如果我运行此命令以查看正在运行的服务:
sudo netstat -tulpn
我可以看到这些行,这表明PostgreSQL正在接受默认端口上的连接:
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3561/postgres
当我尝试从同一本地网络上的远程计算机连接到此PostgreSQL服务器时,我收到以下错误消息:
Server doesn’t listen
The server doesn’t accept connections: the connection library reports
could not connect to server: Connection refused Is the server running on host “10.0.1.7” and accepting TCP/IP connections on port 5432?
我使用postgres作为用户名而没有密码.但我也试过postgres作为密码.在本地服务器上,我可以使用:
sudo -u postgres psql postgres
如何使用pgAdmin3从远程计算机连接到在Ubuntu上运行的PostgreSQL数据库?
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3561/postgres
因此,无论您在pg_hba.conf中指定了哪些权限,它都只能接受本地tcp连接. pg_hba.conf仅指定允许的连接,但不指定服务将侦听的接口.
服务器侦听的地址是使用listen_addresses GUC in postgresql.conf指定的.如果您希望服务器侦听远程连接,则应指定要监听的IP或*以侦听主机上所有可用接口.
要让postgresql服务器监听主机上的所有接口,你应该在postgresql.conf中有以下行:
listen_addresses = '*'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。