VOOZH about

URL: https://www.geeksforgeeks.org/postgresql/how-to-use-postgresql-database-in-django/

⇱ How to use PostgreSQL Database in Django? - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

How to use PostgreSQL Database in Django?

Last Updated : 23 Jul, 2025

This article revolves around how can you change your default Django SQLite-server to PostgreSQL. PostgreSQL and SQLite are the most widely used RDBMS relational database management systems. They are both open-source and free. There are  some major differences that you should be consider when you are choosing a database for your applications.

Also checkout - Difference between SQLite and PostgreSQL

Setting up PostgreSQL in Django 

First create a virtual env so to do that first install virtualenv using this command

pip install virtualenv

then we will create a virtualenv named gfg using 

virtualenv gfg

to enter in the virtual environment create use 

👁 Image

now we will install Django here so I am using Django 2.2 

pip install django==2.2.*

To get Python working with Postgres, you will need to install the “psycopg2” module.

pip install psycopg2

now lets create a django project named geeks

django-admin startproject geeks

to check your django is running smoothly 

python manage.py runserver

👁 Image

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.

Folder structure -

👁 Image

open the settings.py file 

now change database settings with this template code

DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.postgresql',
 'NAME': ‘<database_name>’,
 'USER': '<database_username>',
 'PASSWORD': '<password>',
 'HOST': '<database_hostname_or_ip>',
 'PORT': '<database_port>',
 }
}

Run these commands 

python manage.py makemigrations
python manage.py migrate

👁 Image

now lets create the default superuser:

 python manage.py createsuperuser

👁 Image

now again run your server with 

python manage.py runserver

go to this route and add the credential you did while creating superuser

http://127.0.0.1:8000/admin/

👁 Image

and if you are successfully able to log in, you have successfully switched to PostgreSQL

👁 Image

Comment
Article Tags:

Explore