@远程连接postgresql数据库报错:no pg_hba.conf entry for host “xxx.xxx.xx.xxx”, user “xxxxx”, database “xx”
记录一下我在项目中遇到的小问题,以便以后查找。。
描述
我需要连接其他主机中的postgresql,获取其中的数据,我在django中配置好了settings.py之后runserver显示:
django.db.utils.OperationalError: FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xxx", user "xxx", database "xxx", SSL on
FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xxx", user "xxx", database "xxx", SSL off
查看之后网络还有端口都是开放的,而且postgresql.conf中的
#listen_addresses = 'localhost'
已改成
listen_addresses = '*'
解决方案
将目标主机中与postgresql.conf同路径下的pg_hba.conf中添加一行配置,将你的ip地址配置进去就行
host all all 192.168.1.1/32 md5
就这样,将里面的192.168.1.1替换成你自己的ip即可,/32子网掩码表示这一台主机,不用管。md5我看网上有换成trust,都随意,只是我懒没换。
都配置完之后别忘了重启服务!!!
我用的ubuntu18.04所以重启服务命令是:
重启服务:
sudo systemctl restart postgresql.service
查看服务情况:
sudo systemctl status postgresql.service
打完收工!