Какое значение Postgres мне следует использовать в DATABASE_ENGINE Django? - PullRequest
28 голосов
/ 20 января 2010

Я впервые использую PostgreSQL 8.4.2 с Django (в прошлом я всегда использовал MySQL или sqlite3). Какое значение я должен использовать для DATABASE_ENGINE в settings.py, postgresql_psycopg2 или postgresql? Чем они отличаются друг от друга?

1 Ответ

46 голосов
/ 20 января 2010

Обновление для Django 1.9

Бэкэнд django.db.backends.postgresql_psycopg2 был переименован в в django.db.backends.postgresql в Django 1.9.(Имя psycopg2 все еще можно использовать для обратной совместимости.)

По существу, для Django ≥1,9 используйте django.db.backends.postgresql.

См. Примечание в документации Django для настройки ENGINE .

История (Django ≤ 1.8)

postgresql_psycopg2 и postgresql оба используют psycopg, версии 2 и 1 соответственно.Они оба реализованы как расширения C с использованием API libpq для PostgreSQL.

postgresql_psycopg2 в настоящее время рекомендуется - первоначальный автор устарел в версии 1 и только делает новых выпусковверсии 2 .

Когда Django был первоначально выпущен, psycopg2 все еще был в бета-версии и не рекомендовался, но это давно изменилось .

...