django.db doesn't wrap / replace psycopg2.InterfaceError
|Reported by:||pitrou||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||1.4|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
django.db currently only wraps the backend's DatabaseError and IntegrityError. However, psycopg2 can raise a "psycopg2.InterfaceError: connection already closed" when trying to run a query more than once against an unavailable (e.g. stopped) database. This means catching django.db.DatabaseError isn't enough to catch all possible runtime errors (other than programming errors).
It would be nice if Django also replaced psycopg2's InterfaceError with a generic Django exception.
(note: slightly related with issue #15802)
Change History (4)
comment:1 Changed 4 years ago by ramiro
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset