用Jupyter notebook运行一段Python代码,中途涉及连接到postgresql数据库,然后就报了错:
OperationalError: (psycopg2.OperationalError) server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
然后网上也有少数的相关帖子讨论解决办法,不过看着都有点复杂,试了其中一个,还没成功。
后来发现conn_string有一个特定的格式:
postgresql://user:pw@host:port/database_name
我的问题就出现在这里的 host 与 port ,我的jupyter notebook运行时,浏览器地址栏显示的是localhost:8888/……
然后我就下意识的把“localhost”与“8888”分别当做conn_string中的 host 与 port ,但是实际上应该填写你所连接的postgresql数据库的 host 与 port 。
然后我就进入postgresql里查了一下,
右击“postgresql 13”,选择“properties…”,再选择“Connection”,里面就有 Host 与 Port 。把conn_string中的 host 与 port 换成这里的 Host 与 Port ,然后再运行,就解决问题啦!