使用pd.read_sql读取postgresql数据报sqlalchemy.exc.OperationalError: (psycopg2.OperationalError)

使用

# 环境python3.8
import pandas as pd
df = pd.read_sql(sql='select * from table', con='postgresql://postgres:***@localhost:5432/db')

读取postgresql中数据
报错

D:\Anaconda\envs\pan38\python.exe "C:\Users\201\PyCharm 2020.2\plugins\python\helpers\pydev\pydevconsole.py" --mode=client --port=56151
import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['E:\\PychramProject\\pan20', 'E:/PychramProject/pan20'])
PyDev console: starting.
Python 3.8.10 (default, May 19 2021, 13:12:57) [MSC v.1916 64 bit (AMD64)] on win32
runfile('E:/PychramProject/pan20/test_onlineAPI.py', wdir='E:/PychramProject/pan20')
Traceback (most recent call last):
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 2336, in _wrap_pool_connect
    return fn()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 364, in connect
    return _ConnectionFairy._checkout(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 778, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 495, in checkout
    rec = pool._do_get()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\impl.py", line 140, in _do_get
    self._dec_overflow()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\langhelpers.py", line 68, in __exit__
    compat.raise_(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\compat.py", line 182, in raise_
    raise exception
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\impl.py", line 137, in _do_get
    return self._create_connection()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 309, in _create_connection
    return _ConnectionRecord(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 440, in __init__
    self.__connect(first_connect_check=True)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 661, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\langhelpers.py", line 68, in __exit__
    compat.raise_(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\compat.py", line 182, in raise_
    raise exception
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 656, in __connect
    connection = pool._invoke_creator(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\default.py", line 508, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "D:\Anaconda\envs\pan38\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Users\201\PyCharm 2020.2\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Users\201\PyCharm 2020.2\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "E:/PychramProject/pan20/test_onlineAPI.py", line 18, in <module>
    df = pd.read_sql(sql='select * from pggl.xw_bf2_1103_d', con='postgresql://postgres:a2102135@localhost:5432/gl')
  File "D:\Anaconda\envs\pan38\lib\site-packages\pandas\io\sql.py", line 509, in read_sql
    return pandas_sql.read_query(
  File "D:\Anaconda\envs\pan38\lib\site-packages\pandas\io\sql.py", line 1295, in read_query
    result = self.execute(*args)
  File "D:\Anaconda\envs\pan38\lib\site-packages\pandas\io\sql.py", line 1161, in execute
    return self.connectable.execution_options(no_parameters=True).execute(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 2234, in execute
    connection = self._contextual_connect(close_with_result=True)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 2302, in _contextual_connect
    self._wrap_pool_connect(self.pool.connect, None),
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 2339, in _wrap_pool_connect
    Connection._handle_dbapi_exception_noconnection(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 1583, in _handle_dbapi_exception_noconnection
    util.raise_(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\compat.py", line 182, in raise_
    raise exception
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\base.py", line 2336, in _wrap_pool_connect
    return fn()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 364, in connect
    return _ConnectionFairy._checkout(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 778, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 495, in checkout
    rec = pool._do_get()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\impl.py", line 140, in _do_get
    self._dec_overflow()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\langhelpers.py", line 68, in __exit__
    compat.raise_(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\compat.py", line 182, in raise_
    raise exception
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\impl.py", line 137, in _do_get
    return self._create_connection()
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 309, in _create_connection
    return _ConnectionRecord(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 440, in __init__
    self.__connect(first_connect_check=True)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 661, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\langhelpers.py", line 68, in __exit__
    compat.raise_(
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\util\compat.py", line 182, in raise_
    raise exception
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\pool\base.py", line 656, in __connect
    connection = pool._invoke_creator(self)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "D:\Anaconda\envs\pan38\lib\site-packages\sqlalchemy\engine\default.py", line 508, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "D:\Anaconda\envs\pan38\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) 
(Background on this error at: http://sqlalche.me/e/13/e3q8)

也搜不到什么好办法,只能使用 python3.7

psycopg2 == 2.7.6.1

sqlalchemy == 1.3.23

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值