저는 PostgreSQL 8.1.21 (Django 1.1.1, Python2.5, psycopg2, Apache2 및 mod_wsgi 3.2 사용)에서 장고 프로젝트를 실행하고 있습니다. 나는이 대항 실행하는 최초의 사람이 아니에요Django ORM 및 PostgreSQL 연결 제한
OperationalError: FATAL: connection limit exceeded for non-superusers
: 우리는 최근이 사랑스러운 오류가 발생했습니다. 이 오류에 대한 논의가 많이 있는데, 특히 psycopg와 관련이 있습니다.하지만 대부분은 장고의 이전 버전을 중심으로하고 있으며, 장고 자체에서 코드를 편집하는 것과 관련된 솔루션을 제공합니다. 나는 장고 ORM (또는 psycopg,이 경우 실제로 책임이있는 것)의 문제를 해결하는 방법에 대한 간결한 설명을 아직 찾지 못한 채 열려있는 Postgre 연결을 남긴다.
단순히 모든보기 끝에 connection.close()
을 추가하면이 문제가 해결됩니까? 더 나은 아직, 누구든지이 문제를 결정적으로 해결하고이 오류의 엉덩이를 걷어차?
편집 : 우리는 나중에 500 개의 연결로 Postgresql의 제한을 올렸습니다. 이로 인해 오류가 발생하지 않았지만 과도한 메모리 사용으로 바뀌 었습니다.
나는 둔한 소리가 나겠지만, WSGIDaemonProcess의 최대 요청 설정 또는 Apache MaxClient를 언급하고 있습니까? – bennylope
정말 mod_wsgi의 내장 모드 또는 데몬 모드를 사용하는지 여부에 달려 있습니다. 나는 네가 무엇을 운영하고 있는지 짐작 해 일반화해야했다. –
감사합니다. 데이터베이스 (ORM/psycopg)가 DB의 연결 제한을 MaxClients 제한 (지금은 포함 된 모드로 실행 중)을 초과하여 설정 한 후에도 연결을 열어 두는 것으로 나타났습니다. 확실히 알고있는 것이 좋다. 이 인스턴스에서 오류가 여전히 이러한 연결을 닫지 ORM (?) 발생합니다 생각합니다. – bennylope