It's my first time using PostgreSQL 8.4.2 with Django(I have always used MySQL or sqlite3 in the past). Which value should I use for DATABASE_ENGINE
in settings.py
, postgresql_psycopg2
or postgresql
? How do they differ from each other?
Asked
Active
Viewed 4,368 times
29

Milen A. Radev
- 60,241
- 22
- 105
- 110

Thierry Lam
- 45,304
- 42
- 117
- 144
1 Answers
49
Update for Django 1.9
The django.db.backends.postgresql_psycopg2
backend has been renamed to django.db.backends.postgresql
in Django 1.9. (The psycopg2
name can still be used for backwards compatibility.)
Essentially, for Django ≥1.9, use django.db.backends.postgresql
.
See note in Django's documentation for the ENGINE
setting.
History (Django ≤ 1.8)
postgresql_psycopg2
and postgresql
both use psycopg, versions 2 and 1 respectively. They are both implemented as C extensions using the libpq API to PostgreSQL.
postgresql_psycopg2
is currently recommended -- the original author has deprecated version 1 and is only making new releases of version 2.
When Django was originally released, psycopg2 was still in beta and was not recommended, but this has long since changed.

Nick Merrill
- 1,242
- 1
- 14
- 20

Michael Greene
- 10,343
- 1
- 41
- 43
-
But can you explain me what are cons of using only postgresql ? and some benefits of postgresql_psycopg2. – cafebabe1991 Apr 29 '14 at 16:44