• 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;


15 novembre 2018 11:54