-
Mémo Installer PostgreSQL
Un SGBDO robuste et stable
PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDO) libre très utilisé pour les projets Django.
Installation des paquets
$ sudo apt update $ sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib $ sudo -u postgres psql
Installation du paquet pip psycopg2 permettant l'interaction entre python et PostgreSQL
$ pip install psycopg2-binary
Création de la base
CREATE DATABASE myproject;
Création de l'utilisateur
CREATE USER myprojectuser WITH PASSWORD 'password';
Mise en place des options
ALTER ROLE myprojectuser SET client_encoding TO 'utf8'; ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed'; ALTER ROLE myprojectuser SET timezone TO 'insert timezone'; GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser; # Pour les tests unitaires ALTER ROLE myprojectuser CREATEDB;
Lien vers la doc en français.
Pour Django
Dans myproject/settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'my_database', 'USER': 'myprojectuser', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '5432', 'TEST': { 'NAME': 'db_test', } }
Changer un mot de passe
$ postgres=# ALTER USER user WITH PASSWORD 'password';
Suppression de la base de données
$ postgres=# DROP DATABASE myproject;