出现操作错误:致命:抱歉,太多客户端已经在使用 psycopg2

发布于 2024-07-13 05:23:10 字数 433 浏览 7 评论 0原文

我在使用 psycopg2 时收到错误 OperationalError: FATAL: 抱歉,已有太多客户端。 完成连接实例后,我将调用 close 方法。 我不确定是什么原因造成的,这是我第一次使用 python 和 postgresql,但我在 php、asp.net、mysql 和 sql server 方面有几年的经验。

编辑:我正在本地运行此程序,如果连接像应有的那样关闭,那么我一次只有 1 个连接打开。 我确实有一个对数据库开放的 GUI,但即使关闭,我也会收到此错误。 它是在我运行程序后不久发生的。 我有一个函数,它返回一个打开的连接,如:

psycopg2.connect(connectionString)

感谢

最终编辑: 这是我的错误,我错误地递归调用了相同的方法,从而一遍又一遍地打开相同的方法。 这是一个漫长的一天..

I am getting the error OperationalError: FATAL: sorry, too many clients already when using psycopg2. I am calling the close method on my connection instance after I am done with it. I am not sure what could be causing this, it is my first experience with python and postgresql, but I have a few years experience with php, asp.net, mysql, and sql server.

EDIT: I am running this locally, if the connections are closing like they should be then I only have 1 connection open at a time. I did have a GUI open to the database but even closed I am getting this error. It is happening very shortly after I run my program. I have a function I call that returns a connection that is opened like:

psycopg2.connect(connectionString)

Thanks

Final Edit:
It was my mistake, I was recursively calling the same method on mistake that was opening the same method over and over. It has been a long day..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

灯下孤影 2024-07-20 05:23:10

这个错误的意思就是,连接到 postgreSQL 的客户端太多。

您应该问自己的问题:

  • 您是唯一连接到该数据库的人吗?
  • 您正在运行图形 IDE 吗?
  • 您使用什么方法来连接?
  • 您是否在运行代码的同时测试查询?

这些事情中的任何一个都可能成为问题。 如果您是管理员,您可以增加客户端数量,但如果某个程序将其挂起,那么这不会持续太久。

导致过多客户端同时运行的原因有很多。

This error means what it says, there are too many clients connected to postgreSQL.

Questions you should ask yourself:

  • Are you the only one connected to this database?
  • Are you running a graphical IDE?
  • What method are you using to connect?
  • Are you testing queries at the same time that you running the code?

Any of these things could be the problem. If you are the admin, you can up the number of clients, but if a program is hanging it open, then that won't help for long.

There are many reasons why you could be having too many clients running at the same time.

羁〃客ぐ 2024-07-20 05:23:10

确保您的数据库连接命令不处于任何类型的循环中。 我从脚本中得到了同样的错误,直到我将 db.database() 从程序重复执行循环中移出。

Make sure your db connection command isn't in any kind of loop. I was getting the same error from my script until I moved my db.database() out of my programs repeating execution loop.

苍暮颜 2024-07-20 05:23:10

它简单意味着许多客户端同时向 PostgreSQL 进行事务处理。
我在不同的 docker 容器中运行 Postgis 容器和 Django。 因此,对于我的情况,重新启动数据库和系统容器解决了问题。

It simple means many clients are making transaction to PostgreSQL at same time.
I was running Postgis container and Django in different docker container. Hence for my case restarting both db and system container solved the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文