Это мой первый раз, используя PostgreSQL 8.4.2 с Django (я всегда использовал MySQL или sqlite3 в прошлом). Какое значение следует использовать для DATABASE_ENGINE в settings.py, postgresql_psycopg2 или postgresql? Как они отличаются друг от друга?
Какую ценность Postgres следует использовать в Django DATABASE_ENGINE?
Ответ 1
Обновление для 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 все еще находился в стадии бета-тестирования и не рекомендовался, но это уже давно изменилось.