簡體   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