我按照在线上找到的所有方法操作,据我所知一切都是正确的 - 但它不起作用。
我有一台运行 Postgres 9.1 的 Linux 12.04 服务器。我可以通过 SSH 进入服务器,然后通过本地连接完美地使用 Postgres。
当我尝试设置 Postgres 进行远程访问时,我无法让它工作。我做了以下更改:(所有列出的文件都在 /etc/postgresql/9.1/main 中)
- 在/环境中,我添加了
PGOPTIONS='-i'
- 在/pg_hba.conf中,我添加了
host all all 0.0.0.0/0 md5
- 在/postgresql.conf中,我改变了
listen_addresses='*'
- 我检查了防火墙,它是默认配置,但为了以防万一还是打开了 postgres 端口
- Netstat -a 显示
tcp 0 0 localhost:5432 *:* LISTEN
- 我已确保我的 postgres 用户密码和名称正确,并且可以与该用户进行本地连接
- 我已尝试重新启动(
services postgresql restart
)并启动/停止。
但是,我仍然无法远程连接。我收到以下错误:
$ psql -h [server address] -U [username] -d [database name] psql: could
not connect to server: Connection refused Is the server running on
host "[server address]" ([ip address]) and accepting TCP/IP
connections on port 5432?
有任何想法吗?
答案1
您确定在此之后重新启动了 postgresql 吗?配置正确,但它仍然仅绑定到 localhost。