Django Postgres 连接池

11
如何在Django v2.1中为Postgres数据库池化连接?这个Heroku库不再受支持。在Django网站上有一个关于pgBouncer的连接池和服务器端游标的部分,但似乎找不到设置pgBouncer或示例项目的在线教程。此外,在Hobby级别的数据库中,Heroku也不允许使用pgBouncer buildpack,因此解决此问题的方法将会很好。非常感谢任何帮助。

3
你可以尝试使用django-postgrespool2,它是django-postgrespool的一个分支,而你之前提到了这个库。 - Alasdair
@Alasdair django.db.utils.OperationalError: FATAL: too many connections for role 在使用django-postgrespool2时仍然被抛出,连接池总是超过限制 :(。 - jjdoherty
根据您使用的数据库层级,您可以利用它们的服务器端连接池 - RangerRanger
@BradleyJohnson,我目前使用的是免费版的业余层级,我也尝试在Django设置中指定连接的最大年龄以实现连接持久性,但是连接池始终会溢出。 - jjdoherty
@BradleyJohnson 我来更新一下我是怎么解决这个问题的,最终我选择了AWS并开始使用Docker,创建了自己的Docker容器,现在成功地将nginx、pgBouncer和gunicorn用于我的Django项目。我的Django应用程序现在非常流畅。 - jjdoherty
1个回答

2

3
为什么我们应该使用持久连接? - Adiyat Mubarak
1
我使用 gunicorn 中的 gevent worker,但似乎与持久连接不兼容。 - radtek
在使用Django 4的异步代码时,要小心处理持久连接:https://code.djangoproject.com/ticket/33497 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接