Pab*_*rdo 6 postgresql remote-access pgadmin
我正在尝试连接我的客户端(Macbook Pro)到位于同一网络中另一台PC的Postgres数据库(Ubuntu)我可以通过pgAdmin从主机看到数据库,连接到localhost,但是我看不到客户端.
我允许所有的连接pg_hba.conf和postgresql.conf
我正在尝试通过pgAdmin从客户端连接到存储数据库的IP服务器(192.168.1.34)和端口5432
我得到了这个错误
我做错了什么?
我错过了什么
看完建议后,我可以说:在ubuntu机器上(家庭测试服务器),我没有防火墙.Postgres正在运行.
我已经尝试从ubuntu控制台访问数据库:
psql -h 127.0.0.1 mydatabase postgres并且可以连接(这意味着服务器正在运行,用户名就可以了)但是如果我尝试从同一台机器访问同一个数据库,则用IP更改localhost ,我无法连接.我应该从服务器连接时不psql -h 127.0.0.1 mydatabase postgres一样psql -h 192.168.1.34 mydatabase postgres?
阿兰建议,也许是在环回中?
Ala*_*Dea 13
它没有连接,所以它可能不会在正确的界面上收听或被防火墙阻止.
postgres在运行吗?
sudo service postgresql status
Run Code Online (Sandbox Code Playgroud)
postgres是在LAN IP上的tcp/5432上监听还是在0.0.0.0(所有接口)上监听?
netstat -anpt | grep LISTEN
Run Code Online (Sandbox Code Playgroud)
它可能只在127.0.0.1(环回)上侦听,这意味着无法从Mac上访问它.
如果它没有正在侦听或正在环回,请检查postgresql.conf中的listen_addresses:
http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html
在Ubuntu机箱上运行防火墙吗?
确保至少允许从Mac的IP到tcp/5432的入站连接.
GUFW使这更容易配置,但也可以使用iptables完成.
进一步参考Ubuntu设置:
https://help.ubuntu.com/community/PostgreSQL
小智 11
您可能已经配置了以下两个文件
pg_hba.conf
host all all 0.0.0.0/0 md5
postgresql.conf
listen_addresses ='*'
您必须检查端口5432是否已打开:http://www.yougetsignal.com/tools/open-ports/
如果不是,那么在iptables中添加一条规则:
iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT
0/0:如果你想让任何人访问它.
您可以将其更改为特定的IP地址或IP地址范围.
您已允许 postgresql 接受来自外部网络的请求。为此,您必须更改位于/etc/postgresql/{version_code}/main
第一个文件的两个文件pg_hba.conf,打开并
改成host all all ::1/128 md5 host all all 0.0.0.0/0 md5
第二个是postgresql.conf,开放和
改成listen_address = 'localhost' listen_address = '*'
现在重新启动 postgre 服务器。
| 归档时间: |
|
| 查看次数: |
30945 次 |
| 最近记录: |