Se connecter à une base PostgreSQL
Fonctions :
-
psycopg2.connect()
Permet d’établir une connexion à une base de données PostgreSQL à l’aide du module psycopg2. Ce module est l’un des plus utilisés pour interagir avec PostgreSQL depuis Python.
Importation :
import psycopg2
Attributs :
Paramètre Type Description Valeur par défaut host
str Adresse du serveur PostgreSQL (ex: "localhost"
,"127.0.0.1"
,"nom_du_serveur"
)None
database
str Nom de la base de données à laquelle se connecter None
user
str Nom d’utilisateur PostgreSQL None
password
str Mot de passe de l’utilisateur None
port
int, optionnel Port du serveur PostgreSQL (par défaut 5432
)5432
Exemple de code :
import psycopg2 # Importation du module pour interagir avec PostgreSQL # Établissement de la connexion à la base de données PostgreSQL conn = psycopg2.connect( host="localhost", # Adresse du serveur PostgreSQL (localhost si en local) database="ma_base", # Nom de la base de données user="mon_utilisateur", # Nom d'utilisateur PostgreSQL password="mon_mot_de_passe", # Mot de passe de l'utilisateur port=5432 # Port de connexion (5432 par défaut) ) # Création d’un curseur pour exécuter des requêtes SQL cursor = conn.cursor() # Exécution d’une requête SQL pour afficher les tables de la base de données cursor.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'") # Récupération des résultats tables = cursor.fetchall() # Affichage des tables for table in tables: print(table[0]) # Fermeture du curseur et de la connexion pour libérer les ressources cursor.close() conn.close()
Explication du code :
import psycopg2
importe la bibliothèque psycopg2, qui permet d’interagir avec une base de données PostgreSQL depuis Python.Établissement de la connexion à la base de données PostgreSQL
La fonction
psycopg2.connect()
établit une connexion à la base de données PostgreSQL. Elle prend plusieurs paramètres :- host : adresse du serveur PostgreSQL (
"localhost"
pour une connexion locale). - database : nom de la base de données (
"ma_base"
). - user : nom d'utilisateur pour se connecter (
"mon_utilisateur"
). - password : mot de passe associé à l'utilisateur
(
"mon_mot_de_passe"
). - port : port de connexion (
5432
par défaut).
conn = psycopg2.connect(...)
crée une connexion et la stocke dansconn
.Création d’un curseur pour exécuter des requêtes SQL
conn.cursor()
crée un curseur pour exécuter des requêtes SQL via la connexionconn
. Le curseur est stocké danscursor
.Exécution d’une requête SQL
cursor.execute()
exécute une requête SQL. La requête"SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"
liste les tables dans le schéma public.Récupération des résultats
cursor.fetchall()
récupère tous les résultats de la requête et les stocke danstables
.Affichage des tables
La boucle
for table in tables
parcourt les résultats et affiche chaque nom de table. Le codeprint(table[0])
affiche le nom de chaque table récupérée dans la colonnetable_name
.Fermeture du curseur et de la connexion
cursor.close()
etconn.close()
ferment respectivement le curseur et la connexion, libérant ainsi les ressources utilisées. - host : adresse du serveur PostgreSQL (