首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊RDS的PostgresSQL

亚马逊RDS的PostgresSQL
EN

Stack Overflow用户
提问于 2020-10-12 03:26:09
回答 1查看 141关注 0票数 0

我已经在Amazon上配置了一个PostgresSQL数据库实例,并希望从python脚本中使用它。我用的是游侠。

下面是python脚本。

代码语言:javascript
复制
import awswrangler as wr

df1 = pd.DataFrame({
    "id": [1, 2],
    "name": ["foo", "boo"]
})

eng_postgresql = wr.db.get_engine(db_type="postgresql", host=ENDPOINT, port=5432, database=DBNAME, user=USR, password=pass)

wr.db.to_sql(df1, eng_postgresql, schema="public", name="tutorial", if_exists="replace", index=False)  # PostgreSQL

我得到了以下错误:

代码语言:javascript
复制
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Operation timed out
    Is the server running on host "*************.rds.amazonaws.com" (172.31.23.226) and accepting
    TCP/IP connections on port 5432?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 05:09:01

基于这些评论。

由于RDS 不是公共而导致的连接超时。随后,互联网上的连接将失败。

这个问题一般有三种解决办法;

  1. 修改RDS实例具有公共知识产权。为此,RDS必须位于公共子网中,安全组允许从AWS外部连接。
  2. 设置一个堡垒主机,并使用ssh隧道,将internet上的连接传输到私有DB实例。
  3. 实例所在的家庭/工作和VPC之间建立一个连接。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64311331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档