繁体   English   中英

Psycopg2 和 sqlalchemy 都无法从本地 PostgreSQL 数据库中提取数据

[英]Psycopg2 and sqlalchemy both not working to pull data from a local PostgreSQL database

我有点麻烦。 我尝试使用 psycopg2 和 sqlalchemy 进入我的本地 PostgreSQL 数据库,虽然它没有抛出错误,但它不会建立连接。 相反,它只是卡在执行代码。 这就是问题所在。

conn = psycopg2.connect(database='db', user="user", password="password", host="127.0.0.1", port="55212")

同样,当使用 sqlalchemy 时,这里会出错。

engine = create_engine('postgresql://pw:db@localhost:55212/DB')

请帮忙,在这个问题解决之前我什么都做不了!

没有看到日志,只能猜测。 但基本上,当使用sqlalchemy时,您传递给create_engine的连接字符串应如下所示: "postgresql+psycopg2://user_name:password@host_address:port/schema" 如果您传递的数据正确,请确保您的数据库服务器已打开连接。 如果您尝试从不同的 docker 容器内连接到 docker 容器,请确保它们共享网络,并将host_address从 localhost 更改为容器的名称。

PostgreSQL 的默认端口是5432 ,因此在尝试其他端口之前,请确保使用哪个端口。 创建Engine后,使用engine.connect()连接到数据库,它返回一个连接(最好使用上下文管理器)。

然后,您可以使用该连接execute查询或将其传递给 pandas read_sql_query方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM