DBLink 连接到远程 RDS Postgresql

问题描述 投票:0回答:1

我正在尝试从另一个 RDS PostgreSQL [均启用 SSH] 连接到远程 RDS PostgreSQL 数据库并收到错误。谁能帮我以正确的方式建立连接。

选择dblink_connect ('myconn', 'dbname=Test-Prod 端口=5432 主机=10.60.0.10 用户=postgres 密码=abcd');

错误:无法建立连接 详细信息:无法连接到服务器:连接超时 服务器是否在主机“10.60.0.10”上运行并接受 端口 5432 上的 TCP/IP 连接? SQL状态:08001

选择dblink_connect ('myconn', 'dbname=Test-Prod 主机=10.60.0.10 用户=postgres 密码=abcd sslmode=需要 ss_host=10.20.2.12 ssh_port=22 ssh_user=ubuntu ssh_password=acbde');

错误:需要密码 详细信息:非超级用户必须在连接字符串中提供密码。 SQL 状态:2F003

如果您有任何其他选择可以帮助我解决此问题,我将非常感激。谢谢你。

postgresql dblink
1个回答
0
投票

自行建立ssh隧道,然后使用dblink通过它进行连接。 dblink 没有为您建立隧道的规定。

类似:

ssh -L 9999:10.60.0.10:5432 [email protected]

然后您将编辑 dblink 连接字符串以指向隧道的本地端,“... host=localhost port=9999 ...”

您的第一次尝试被防火墙阻止。这是有道理的,因为如果你只是让人们绕过它,那么拥有 ssh 隧道就没有意义。

您的第二次尝试失败,因为您在连接字符串中指定了虚构参数。 dblink 将此报告为密码问题,尽管事实并非如此。我认为这之前已经被报告为错误,但我找不到错误报告,显然它还没有被修复。

© www.soinside.com 2019 - 2024. All rights reserved.