python-3.x - 使用 python 连接到 AWS RDS Postgres 数据库
问题描述
我在 RDS 中有一个带有数据库名称的现有 postgres 表my-rds-table-name
我已经使用 pgAdmin4 和只读用户的以下配置连接到它:
host_name = "my-rds-table-name.123456.us-east-1.rds.amazonaws.com"
user_name = "my_user_name"
password = "abc123def345"
我已经验证我可以查询该表。
但是,我无法使用 python 连接到它:
SQLAlchemy==1.2.16
psycopg2-binary==2.7.6.1
mysqlclient==1.4.1
和:
import psycopg2
engine = psycopg2.connect(
database="my-rds-table-name",
user="my_user_name",
password="abc123def345",
host="my-rds-table-name.123456.us-east-1.rds.amazonaws.com",
port='5432'
)
它失败了
psycopg2.OperationalError: FATAL: database "my-rds-table-name" does not exist
同样,如果我尝试使用 sqlalchemy 连接到它:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: database "my-rds-table-name" does not exist
我错过了什么?
解决方案
感谢 John Rotenstein 的评论。
正如他所指出的,my-rds-table-name
是数据库实例名称,而不是数据库名称,默认数据库名称是postgres
.
import psycopg2
engine = psycopg2.connect(
database="postgres",
user="my_user_name",
password="abc123def345",
host="my-rds-table-name.123456.us-east-1.rds.amazonaws.com",
port='5432'
)
推荐阅读
- python - NLP 生成按列中的值分组的并置三元组数据帧
- kotlin - 从协程获取状态更新
- excel - 如何将一系列数据从一个工作表转移到另一个工作表
- android - 如何在 Koin 的检测测试中注入使用 androidContext 的类?
- r - 根据列/标签重新排序 R 数据框的行
- python - 如何让这个脚本检查目录中的每个文件但不记录每个单独的检查?
- java - 如何通过 css 更改 JavaFX ComboBox 的箭头按钮中的背景颜色?
- c# - 如何将两个不同的控件动态绑定到单个数据网格单元中的两个不同的数据源
- events - AEM 6.3 设置 PageEvent 处理程序/侦听器
- android - 没有活动的 Airbnb-DeepLinkDispatch