Connexion Python-PostgreSQL

Syntaxe

1
#!/usr/bin/python3
2
import psycopg2
3
4
# Connect to an existing database
5
conn = psycopg2.connect("host=%s dbname=%s user=%s password=%s" % ("localhost", "database", "user", "password"))

ExemplePréparation de la base PostgreSQL

Préparer une base de données PostgreSQL mydb appartenant à l'utilisateur me avec le mot de passe secret. Ajouter une table t avec les attributs a et b.

1
#/usr/bin/bash
2
psql -c "CREATE USER me WITH PASSWORD 'secret';"
3
psql -c "CREATE DATABASE mydb OWNER=me";
4
psql -h localhost -U me -d mydb -c "CREATE TABLE t (a VARCHAR,b INTEGER)";

ExempleConnexion à la base de données en Python (connect.py)

1
#!/usr/bin/python3
2
3
import psycopg2
4
5
HOST = "localhost"
6
USER = "me"
7
PASSWORD = "secret"
8
DATABASE = "mydb"
9
10
# Connect to an existing database
11
conn = psycopg2.connect("host=%s dbname=%s user=%s password=%s" % (HOST, DATABASE, USER, PASSWORD))
12
print (conn)
13
14
# Close connection
15
conn.close()
16
print (conn)
1
$ ./connect.py 
2
<connection object at 0x7f752e56fe88; dsn: 'user=me password=xxx dbname=mydb host=localhost', closed: 0>
3
<connection object at 0x7f752e56fe88; dsn: 'user=me password=xxx dbname=mydb host=localhost', closed: 1>

ComplémentDocumentation du module psycopg2