我在让 postgres 接受来自我的其他服务器的连接时遇到问题。这是我的设置:
这是我/var/lib/pgsql/data/pg_hba.conf
在app06上的文件:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 10.55.129.30/32 trust
host all all 10.55.129.31/32 trust
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::1/128 trust
Run Code Online (Sandbox Code Playgroud)
这不完全是我想要的(我想使用 LDAP),但它至少应该可以工作。我想将 10.55.129.30 连接到 10.44.129.31。第一host
行应该是我所需要的。第三host
行应该允许从任何地方连接。
现在,我们在app06上启动 Postgres
$ /etc/init.d/postgres start
$ /etc/init.d/postgres status
pg_ctl: server is running (PID: 30091)
/usr/bin/postgres "-D" "/var/lib/pgsql/data"
Run Code Online (Sandbox Code Playgroud)
看起来挺好的...
让我们看看 Netstat:
$ netstat -nlp | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 30091/postmaster
unix 2 [ ACC ] STREAM LISTENING 16490154 30091/postmaster /tmp/.s.PGSQL.5432
Run Code Online (Sandbox Code Playgroud)
好吧...我想...不是一个真正的系统管理员,我不能确切地说这意味着什么,但看起来 PID 30091(进程 postmaster)有端口 5432 打开。
让我们看看是否有任何东西在监听 5432 端口
$ telnet localhost 5432
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
好的,端口 5432 已打开并接受连接。
现在,我们去APP05看看我们是否可以连接......
我已经尝试psql
从app05运行但没有成功。我可以和app06 通话吗?
$ ping app06
PING app06 (10.55.129.31) 56(84) bytes of data.
64 bytes from app06 (10.55.129.31): icmp_seq=1 ttl=64 time=0.901 ms
64 bytes from app06 (10.55.129.31): icmp_seq=2 ttl=64 time=0.230 ms
--- app06 ping statistics ---
2 packets transmitted, 6 received, 0% packet loss, time 5001ms
Run Code Online (Sandbox Code Playgroud)
好的,我可以从 app05 与 app06 通话。让我们看看我是否可以连接到 Postgres 的端口:
$ telnet app06 5432
Trying 10.55.129.31...
telnet: connect to address 10.55.129.31: Connection refused
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)
我无法连接到端口 5432
我运行/usr/sbin/lokkit
并验证软件防火墙已关闭。
无论如何,我不是网络或系统管理员。我也不是 postgres 管理员。我很可能错过了一些简单、愚蠢的事情,但我不知道是什么。
我很确定这些机器上的端口 5432 在网络上是开放的。我尝试将 Postgres 端口切换到 8999,我确定它没有被阻止,但我遇到了同样的问题。
知道我做错了什么吗?
小智 6
仅供参考......我仍然做的一件非常愚蠢的事情是在我更改配置文件的“listen_addresses”行中忘记删除前导“ # ”。(是的......因此,该行[仍然]是评论! Duh-hh-hhh。)
归档时间: |
|
查看次数: |
38987 次 |
最近记录: |