29

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?

1 Answer 1

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.

Sign up to request clarification or add additional context in comments.

1 Comment

But can you explain me what are cons of using only postgresql ? and some benefits of postgresql_psycopg2.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.