【问题标题】:AWS/RDS rejecting file import from pgAdminAWS/RDS 拒绝从 pgAdmin 导入文件
【发布时间】:2021-06-09 05:02:52
【问题描述】:

我正在使用 pgAdmin 连接到我的 RDS 实例,该实例具有通过 vpc 的 ssh 隧道。该元素大部分都很好。我可以连接、查询表和创建表。问题是我无法将 CSV 导入新创建的表中;导入向导被“退出代码 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。通常这是一个超级简单的复制和粘贴操作。

【问题讨论】:

  • 嗨,有趣,这可能很有趣medium.com/@deepspaceprog/…
  • 啊,是的,我在最初的设置中使用了它,并且我已经让它在命令行中运行,这使得 pgAdmin 的拒绝更加令人困惑。我无法在 pgAdmin 中获得相同的工作路径(例如,通过在 localhost/etc 中发布)。这很烦人,因为我 可以 通过 pgAdmin SSH 进入,只是没有进入下一步。我确定我只是没有在正确的框中粘贴正确的内容...
  • 您可以将您输入的值添加到连接对话框中的哪个设置中吗?
  • 我知道的基本问题,但您的用户是否对目标表具有附加/写入权限?通过查看目标表 -> 属性 -> 安全性进行检查。 postgresql.org/docs/13/ddl-priv.html#PRIVILEGE-ABBREVS-TABLE
  • @rfkortekaas 我已经尝试了各种方法:使用用户 ec2-user@ipaddress 和 1234:endpoint:5432 作为主机,只使用 ec2-user 和 1234:endpoint:5432 作为 ssh 主机等

标签: postgresql amazon-web-services amazon-ec2 ssh amazon-rds


【解决方案1】:

首先,如果RDS位于private subnet中,即使private subnet连接到public subnet中的NAT Gatway,pgAdmin也无法连接到RDS。因此,要公开私有子网,请将Internet Gateway 设置为private subnet 而不是NAT Gatway

其次,检查5432(RDS postgresql port)的安全组inbound rule是否对your computer开放,其中pgAdmin

第三,检查RDS设置的Public accessYes,如下图所示。如果是No,则VPC外的工具无法连接RDS。

告诉我你是否可以使用 pgAdmin 成功连接到 RDS,或者不能使用上面的 3 solutions

【讨论】:

  • 感谢您的建议,显然我的解释器写得不够清楚。我可以正常连接。我可以在 pgAdmin 中创建表,甚至可以从我的机器上写表。唯一的问题是我无法通过 pgAdmin 写入表。
  • 我只知道如何将pgAdmin连接到RDS。我不知道将 csv 文件导入 RDS。将 pgAdmin 连接到 RDS 没有问题,所以问题应该是导入 csv.file 部分。我不知道这些 youtube 视频是否对使用 pgAdmin 将 csv 文件导入 RDS 有帮助。 youtu.be/DMl5fsc8PSkyoutu.be/MpskUx3H1oU
猜你喜欢
  • 2020-06-04
  • 1970-01-01
  • 1970-01-01
  • 2018-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
相关资源
最近更新 更多