Comment connecter une base de données PostgreSQL ?

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Connexion d'une base de données PostgreSQL en Python : guide complet pour développeurs

La gestion des bases de données est un élément essentiel de tout projet logiciel moderne. PostgreSQL est l'un des systèmes de gestion de bases de données relationnelles les plus populaires, reconnu pour sa fiabilité, ses hautes performances et ses fonctionnalités avancées.

Dans cet article, nous allons voir en détail comment connecter une base de données PostgreSQL en Python, manipuler les données avec SELECT et DELETE, et utiliser la bibliothèque psycopg2 avec des exemples concrets. Nous aborderons également la différence entre SQLite et PostgreSQL.

Les avantages de PostgreSQL pour les développeurs

PostgreSQL est très apprécié des développeurs pour les raisons suivantes :

  • Prise en charge de requêtes SQL complexes et de types de données avancés
  • Haute fiabilité et sécurité des données
  • Support des transactions, index, triggers et vues
  • Excellente scalabilité pour les projets d'envergure
  • Code source ouvert et communauté active

PostgreSQL prend également en charge les données JSON, les tableaux, les types de données personnalisés et de nombreuses extensions, ce qui en fait une solution polyvalente pour divers besoins.

Installation de PostgreSQL et configuration de l'environnement

Installation de PostgreSQL sur différents systèmes d'exploitation

Windows : Téléchargez le fichier d'installation depuis le site officiel de PostgreSQL et suivez les instructions de l'assistant d'installation.

Linux (Ubuntu/Debian) :

sudo apt update
sudo apt install postgresql postgresql-contrib

macOS :

brew install postgresql

Création d'une base de données et d'un utilisateur

Après l'installation de PostgreSQL, créez une base de données et un utilisateur :

CREATE DATABASE ma_base;
CREATE USER mon_utilisateur WITH PASSWORD 'mon_mot_de_passe';
GRANT ALL PRIVILEGES ON DATABASE ma_base TO mon_utilisateur;

Configuration de l'accès à la base de données

Pour une connexion sécurisée, il est recommandé de :

  • Configurer le fichier pg_hba.conf pour gérer les accès
  • Définir des mots de passe robustes pour les utilisateurs
  • Utiliser des connexions SSL pour les accès distants
  • Limiter l'accès réseau via un pare-feu

Connexion à PostgreSQL depuis Python

Installation et configuration de psycopg2

Pour travailler avec PostgreSQL en Python, la bibliothèque la plus utilisée est psycopg2. Installez-la avec pip :

pip install psycopg2

En cas de problèmes de compilation, utilisez la version binaire :

pip install psycopg2-binary

Connexion de base à la base de données

import psycopg2

try:
    connexion = psycopg2.connect(
        database="ma_base",
        user="mon_utilisateur",
        password="mon_mot_de_passe",
        host="localhost",
        port="5432"
    )
    print("Connexion réussie !")
except Exception as e:
    print(f"Erreur de connexion : {e}")
finally:
    if connexion:
        connexion.close()
        print("Connexion fermée.")

Utilisation du gestionnaire de contexte

Pour une gestion automatique de la connexion, utilisez le gestionnaire de contexte :

import psycopg2

with psycopg2.connect(
    database="ma_base",
    user="mon_utilisateur",
    password="mon_mot_de_passe",
    host="localhost",
    port="5432"
) as connexion:
    curseur = connexion.cursor()
    curseur.execute("SELECT version();")
    version = curseur.fetchone()
    print(f"Version PostgreSQL : {version}")

Exécution de requêtes SQL dans PostgreSQL

Exécution de requêtes SELECT


                    

Blogs

Book Recommendations