我收到错误OperationalError:FATAL:抱歉,使用psycopg2时已有太多客户端。完成后我在连接实例上调用close方法。我不确定是什么导致这个,这是我第一次使用python和postgresql,但我有几年的php,asp.net,mysql和sql server经验。
编辑:我在本地运行,如果连接正在关闭,那么我一次只打开一个连接。我确实有一个GUI打开数据库,但即使关闭我收到此错误。这是在我运行程序后不久发生的。我有一个函数我调用它返回一个打开的连接,如:
psycopg2.connect(的connectionString)
由于
最终编辑: 这是我的错误,我在错误中递归调用相同的方法,一遍又一遍地打开相同的方法。这是漫长的一天......
答案 0 :(得分:9)
此错误意味着它所说的,有太多的客户端连接到postgreSQL。您是唯一连接到此数据库的人吗?你在运行图形IDE吗?你用什么方法连接?您是否在运行代码的同时测试查询?任何这些事情都可能成为问题。如果你是管理员,你可以增加客户端的数量,但如果一个程序挂起它,那么这将无济于事。
有太多原因可能导致您使用我们提供的稀疏信息同时运行太多客户端。
答案 1 :(得分:1)
确保您的db连接命令不在任何类型的循环中。我从我的脚本中得到了同样的错误,直到我将db.database()移出我的程序重复执行循环。
答案 2 :(得分:0)
这很简单,意味着许多客户端正在同时向PostgreSQL进行事务处理。 我在不同的Docker容器中运行Postgis容器和Django。因此,对于我来说,重新启动db和系统容器都可以解决问题。