Connexion à une base de données PostgreSQL en Python

Dans ce tutoriel nous allons découvrir comment se connecter à une base de données PostgreSQL avec Python en utilisant psycopg2. Vous devez connaître les détails suivants de PostgreSQL pour effectuer la connexion.
 
 
Arguments requis pour se connecter à la base de données PostgreSQL avec Python:

  • Nom d’utilisateur : Le nom d’utilisateur que vous utilisez pour travailler avec PostgreSQL. Le nom d’utilisateur par défaut pour la base de données PostgreSQL est postgres.
  • Mot de passe : Le mot de passe est donné par l’utilisateur au moment de l’installation de PostgreSQL.
  • Nom d’hôte : est le nom du serveur ou l’adresse IP sur laquelle PostgreSQL s’exécute. si vous exécutez sur localhost, vous pouvez utiliser localhost, ou son adresse IP, c’est-à-dire 127.0.0.0
  • Nom de la base de données : Nom de la base de données à laquelle vous souhaitez vous connecter. Ici, nous utilisons une base de données nommée « my_db ».

 
Étapes pour se connecter à PostgreSQL via Python:

  • Utilisez la méthode connect() de psycopg2 avec les arguments requis pour se connecter à PostgreSQL.
  • Créez un objet curseur à l’aide de l’objet de connexion renvoyé par la méthode connect() pour exécuter des requêtes PostgreSQL à partir de Python.
  • Fermez l’objet Cursor et la connexion à la base de données PostgreSQL une fois votre travail terminé.
  • Capturer Database Exceptions, le cas échéant, qui peut se produire pendant ce processus de connexion.

 
 

Exemple pour se connecter à PostgreSQL via Python:

Pour se connecter à une base de données PostgreSQL et effectuer des requêtes SQL, vous devez connaître le nom de la base de données que vous souhaitez connecter. Si vous n’avez créé aucune base de données, créer une avant de continuer.

import psycopg2

try:
    conn = psycopg2.connect(
					user = "postgres",
					password = "postgres",
					host = "localhost",
					port = "5432",
					database = "my_db"
    )
    cur = conn.cursor()

    # Afficher la version de PostgreSQL 
    cur.execute("SELECT version();")
    version = cur.fetchone()
    print("Version : ", version,"\n")
	
    #fermeture de la connexion à la base de données
    cur.close()
    conn.close()
    print("La connexion PostgreSQL est fermée")

except (Exception, psycopg2.Error) as error :
    print ("Erreur lors de la connexion à PostgreSQL", error)

Sortie:

Version :  ('PostgreSQL 12.3',)

La connexion PostgreSQL est fermée

 

Explication du code ci-dessus
import psycopg2

Cette ligne importe le module psycopg2 dans notre programme. En utilisant les classes et méthodes définies dans le module psycopg2, nous pouvons communiquer avec la base de données PostgreSQL.
 

    conn = psycopg2.connect(
					user = "postgres",
					password = "postgres",
					host = "localhost",
					port = "5432",
					database = "my_db"
    )

En utilisant la méthode connect(), nous pouvons créer une connexion à la base de données PostgreSQL. Cette méthode renvoie l’objet de connexion PostgreSQL.
 
 
La méthode connect() accepte divers arguments. Dans notre exemple, nous avons passé le nom d’utilisateur utilisé pour s’authentifier, le mot de passe, le nom d’hôte, le port et le nom de la base de données.
 

cur = conn.cursor()

En utilisant un objet de connexion, nous pouvons créer un objet curseur qui nous permet d’exécuter des commandes/requêtes PostgreSQL via Python.
 

cur.execute("SELECT version();")

En utilisant la méthode execute() du curseur, nous pouvons exécuter une opération de base de données ou une requête à partir de Python. La méthode cursor.execute() prend une requête PostgreSQL comme paramètre et retourne le resultSet, c’est-à-dire une ligne de base de données.

Dans notre exemple, nous exécutons la requête « SELECT version(); » pour récupérer la version de la base de données PostgreSQL.
 

cur.close()
conn.close()

Il est toujours recommandé de fermer le curseur et l’objet de connexion une fois votre travail terminé pour éviter les problèmes de base de données.
 

try:
    .....
except (Exception, psycopg2.Error) as error :
    print ("Erreur lors de la connexion à PostgreSQL", error)

Nous avons placé tout notre code dans le bloc try-except pour intercepter les exceptions et les erreurs de la base de données PostgreSQL qui peuvent survenir au cours de ce processus.

En utilisant la classe Exception et psycopg2.Error du module psycopg2, nous pouvons gérer toute erreur et exception de base de données qui peut se produire lors de l’utilisation de PostgreSQL avec Python.
 

Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *