我正在使用Django 1.1.1、Python 2.5、psycopg2和Apache2 with mod_wsgi 3.2在PostgreSQL 8.1.21上运行项目。我们最近遇到了这个错误:
OperationalError: FATAL: connection limit exceeded for non-superusers
我并不是第一个遇到这个问题的人。关于这个错误有很多讨论,特别是与psycopg相关的讨论,但其中大部分集中在旧版本的Django上,或者提供修改Django代码的解决方案。我尚未找到简洁的解释来解决Django ORM(或在这种情况下真正负责的psycopg)保留打开的Postgre连接的问题。
仅仅在每个视图的末尾添加connection.close()能解决这个问题吗?更好的办法是,有没有人已经确定地解决了这个问题并消除了这个错误的影响?
编辑:我们后来将PostgreSQL的限制提高到500个连接;这可以防止错误出现,但会导致过多的内存使用。
OperationalError: FATAL: connection limit exceeded for non-superusers
我并不是第一个遇到这个问题的人。关于这个错误有很多讨论,特别是与psycopg相关的讨论,但其中大部分集中在旧版本的Django上,或者提供修改Django代码的解决方案。我尚未找到简洁的解释来解决Django ORM(或在这种情况下真正负责的psycopg)保留打开的Postgre连接的问题。
仅仅在每个视图的末尾添加connection.close()能解决这个问题吗?更好的办法是,有没有人已经确定地解决了这个问题并消除了这个错误的影响?
编辑:我们后来将PostgreSQL的限制提高到500个连接;这可以防止错误出现,但会导致过多的内存使用。