启用 PostgreSQL 远程访问 - 似乎没有任何效果
Enable PostgreSQL remote access- nothing seems to work
我已经尝试了所有我能找到的方法来远程访问 centos 服务器上的 postgresql 8.1 数据库。我正在尝试使用 pgAdmin 3 从我的 windows 10 PC 连接。我不断收到:
The server doesn't accept connections: the connection library reports
could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "server ip" and accepting TCP/IP connections on port 5432?
这是我所做的:
pg_hba.conf 已添加 -
host all all "my public IP address"/32 trust
postgresql.conf -
listen_addresses='*'
重新启动 PostgreSQL
将以下内容添加到 iptables
-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d "my IP" --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -s "my ip" --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
重新启动 iptables
我已经验证了很多次,我的 IP 地址都是正确的。
任何人都可以帮助解决我可能遗漏的问题。
更新:
我停止了 iptables 服务并能够连接,所以这与我的 iptable 规则有关。
如果你真的想从其他机器启用无密码连接,在行
host all all "my public IP address"/32 trust
"my public IP address"
应该是您尝试连接的机器的 IP 地址。
别忘了 运行 pg_ctl reload
加载更改后的配置文件。
要混杂并允许来自任何地方的无密码连接,请使用
host all all 0.0.0.0/0 trust
如果遇到问题,请在postgresql.conf
中将log_connections
设置为on
并查阅日志文件。
我发现了 iptables 的错误。使用 CentOS 我需要添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 –s "my IP" -j ACCEPT
PostgreSQL 的一切都是正确的。只需要根据上述更改 iptable 规则。
我已经尝试了所有我能找到的方法来远程访问 centos 服务器上的 postgresql 8.1 数据库。我正在尝试使用 pgAdmin 3 从我的 windows 10 PC 连接。我不断收到:
The server doesn't accept connections: the connection library reports could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "server ip" and accepting TCP/IP connections on port 5432?
这是我所做的:
pg_hba.conf 已添加 -
host all all "my public IP address"/32 trust
postgresql.conf -
listen_addresses='*'
重新启动 PostgreSQL
将以下内容添加到 iptables
-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d "my IP" --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -s "my ip" --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
重新启动 iptables
我已经验证了很多次,我的 IP 地址都是正确的。
任何人都可以帮助解决我可能遗漏的问题。
更新:
我停止了 iptables 服务并能够连接,所以这与我的 iptable 规则有关。
如果你真的想从其他机器启用无密码连接,在行
host all all "my public IP address"/32 trust
"my public IP address"
应该是您尝试连接的机器的 IP 地址。
别忘了 运行 pg_ctl reload
加载更改后的配置文件。
要混杂并允许来自任何地方的无密码连接,请使用
host all all 0.0.0.0/0 trust
如果遇到问题,请在postgresql.conf
中将log_connections
设置为on
并查阅日志文件。
我发现了 iptables 的错误。使用 CentOS 我需要添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 –s "my IP" -j ACCEPT
PostgreSQL 的一切都是正确的。只需要根据上述更改 iptable 规则。