我在 RDS 中有一个名为 my-rds-table-name
的 Postgres 表。
我使用以下只读用户配置通过 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
我错过了什么?
my-rds-table-name
是数据库实例(服务器)的名称。在数据库实例中,存在一个逻辑数据库,但该逻辑数据库的名称并不是my-rds-table-name
。您可以使用 RDS 控制台来发现实际的数据库名称。 - John Rotenstein