====== PostgreSQL ======
===== Installation =====
Source: [[https://pypi.org/project/psycopg2-binary/]]
Installer **psycopg2-binary** au lieu de **psycopg2** permet d'éviter
d'installer les paquets nécessaires à la compilation de la librairie.
pip3 install psycopg2-binary
===== Modules à importer =====
import psycopg2, psycopg2.extras
===== Connexion =====
try:
conn = psycopg2.connect(
user = username,
password = password,
host = host,
port = port,
database = dbname)
except(Exception, psycopg2.Error) as error:
conn = None
print("Erreur: ", error)
===== Déconnexion =====
if conn:
conn.close()
===== Requête =====
cursor = conn.cursor(cursor_factory = psycopg2.extras.DictCursor)
try:
cursor.execute("SELECT id, nom FROM table WHERE id = %s;", (5,))
rows = cursor.fetchall()
# Transformation de liste de DictRow en
# liste de dictionnaires standards
result = []
for row in rows:
dico = {}
for key, col in enumerate(cursor.description):
dico[col[0]] = row[key]
result.apend(dico)
finally:
cursor.close()