Ubuntu PostgreSQL连接失败可按以下步骤排查解决:
-
检查服务状态
确保PostgreSQL服务已启动:sudo systemctl status postgresql若未启动,执行:
sudo systemctl start postgresql -
配置远程访问权限
- 修改
postgresql.conf:
将listen_addresses设为'*'以允许所有IP连接,修改后重启服务:sudo nano /etc/postgresql/<版本>/main/postgresql.conf sudo systemctl restart postgresql - 修改
pg_hba.conf:
添加允许远程连接的规则(如host all all 0.0.0.0/0 md5),重启服务:sudo nano /etc/postgresql/<版本>/main/pg_hba.conf sudo systemctl reload postgresql
- 修改
-
检查防火墙设置
确保防火墙放行PostgreSQL默认端口(5432):sudo ufw allow 5432/tcp sudo ufw reload -
验证pgAdmin配置
确保pgAdmin中输入的服务器地址、端口、用户名、密码正确,本地连接可尝试将主机名改为localhost或127.0.0.1。 -
查看日志定位问题
若仍无法连接,查看PostgreSQL日志获取详细错误信息:sudo tail -f /var/log/postgresql/postgresql-<版本>-main.log
其他可能问题:
- 端口冲突:用
sudo netstat -tulnp | grep 5432检查端口占用,修改postgresql.conf中port参数并重启。 - 数据库文件权限异常:确保PostgreSQL用户对数据目录有读写权限。
按以上步骤逐步排查,通常可解决大部分连接问题。