Introduction to PostgreSQL
Database Engines
Django comes with an SQLite database which is great for testing and debugging at the beginning of a project.
However, it is not very suitable for production.
Django also supports these database engines:
- PostgreSQL
- MariaDB
- MySQL
- Oracle
We will take a closer look at the PostgreSQL database engine.
PostgreSQL
PostgreSQL database is an open source relational database, which should cover most demands you have when creating a database for a Django project.
It has a good reputation, it is reliable, and it performs well under most circumstances.
We will add a PostgreSQL database to our Django project.
To be able to use PostgreSQL in Django, we have to install a package called psycopg2.
Install psycopg2
Type this command in the command line to install the package. Make sure you are still in the virtual environment:
pip install psycopg2-binary
The result should be something like this:
Collecting psycopg2-binary
Downloading psycopg2_binary-2.9.5-cp39-cp39-win_amd64.whl (1.2 MB)
|████████████████████████████████| 1.2 MB 3.3 MB/s
Installing collected packages: psycopg2-binary
Successfully installed psycopg2-binary-2.9.5
WARNING: You are using pip version 20.2.3; however, version 22.3.1 is available. You should consider upgrading via the 'c:\users\Your Name\myworld\scripts\python.exe -m pip install --upgrade pip' command.
The psycopg2 package is a driver that is necessary for PostgreSQL to work in Python.
We also need a server where we can host the database.
In this tutorial, we have chosen the Amazon Web Services (AWS) platform; you will learn more about that in the next chapter Create AWS Account.