我使用pgAdmin连接到我的RDS实例,它有一个通过vpc的ssh隧道。该元素基本上没问题;我可以连接、查询表和创建表。问题是我无法将CSV导入到新创建的表中;导入向导被拒绝,并显示'exit code 2‘(连接被拒绝)。
我曾尝试专门为Postgres流量打开一个新端口,但没有成功。这看起来应该是相当基础的;我可以在没有SSH的RDS实例中做到这一点,没有问题(使用相同的文件、相同的终端等成功)。它真的看起来像是一个基本的项目,但我似乎甚至找不到指南。
编辑/添加:我已经取得了一些进展。如果我像这样运行一个命令:
ssh -N -L 1234:<rds-endpoint>:5432 ec2-user@<ec2-public-ip-addres> -i /Users/user/.ssh/permissionsfile.pem
然后在pgadmin中作为正常连接运行:
host: localhost
port: 1234
username: rds-username
maintenancedatabasae: rds-database
password: rds-usernames-password
这是可行的。我不知道如何将相同的ssh信息放到pgadmin中,这让我很困惑。通常,这是一个非常简单的复制和粘贴操作。
发布于 2021-06-08 16:38:33
首先,如果RDS位于private subnet
中,即使private subnet
连接到public subnet
中的NAT Gatway
,pgAdmin也无法连接到RDS。因此,要使私有子网成为公共子网,请将Internet Gateway
设置为private subnet
,而不是NAT Gatway
。
其次,检查安全组的5432(RDS postgresql port)
的inbound rule
是否对带有pgAdmin
的your computer
开放。
第三,检查RDS设置的Public access
是否为Yes
,如下所示。如果是No
,则您的私有网络外部的工具无法连接到RDS。
告诉我你可以使用上面的pgAdmin或不使用3 solutions
成功地连接到RDS。
https://stackoverflow.com/questions/67744717
复制