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?
If you are building an application with maps or you are storing geographical data, you need to use PostgreSQL, as GeoDjango is only fully compatible with PostgreSQL. PostgreSQL has the richest set of features that are supported by Django.
Setting up PostgreSQL in Django To get Python working with Postgres, you will need to install the “psycopg2” module. Now, go to the below link and download and set up PostgreSQL. create a database name gfg in your Postgres server. Now its time to switch from SQLite to PostgreSQL.
The three most widely used Database Management Systems for Django are SQLite, MySQL, and PostgreSQL. The Django community and official Django documentation state PostgreSQL as the preferred database for Django Web Apps.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With