我有 AWS RDS postgresql(13.7),我正在尝试创建到另一个 RDS postgresql(相同版本)的 dblink。
create server pg_rep_db foreign data wrapper dblink_fdw options(host 'XXXX.rds.amazonaws.com', dbname 'my_db_name', port '5432');
两个 RDS 实例都在同一子网上运行。 虽然我添加了入站规则,但还是无法建立连接。
ERROR: could not establish connection
DETAIL: could not connect to server: Connection timed out
Is the server running on host "XXXX.rds.amazonaws.com" (172.64.4.XXX) and accepting
TCP/IP connections on port 5432?
两个RDS的内部IP都是172.64.4.XXX,安全组的入站规则如下。
PostgreSQL TCP 5432 172.64.4.0/24 pg_transport
如有任何建议,我们将不胜感激。
我也有同样的问题。 看起来 dblink 不是利用公共 IP 进行连接的表。 即使在控制台上使用与 psql 相同的连接字符串时,我也会看到这一点。解决方法是您需要使用专用 IP 进行连接。我相信这是 AWS 中的一个错误,但不确定具体是什么。