====== Utilizzare il Postgresql con Python grazie a Psycopg2 ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//24/02/2018 - 16:52//** \\ \\
Psycopg2 รจ un wrapper a libpq per Python e serve per interagire con il db Postgresql.
**Select**
#!/usr/bin/python
import psycopg2
def main():
try:
conn_string = "user=fabio password=fabio dbname=test hostaddr=192.168.1.4 port=5432"
conn = psycopg2.connect(conn_string)
except psycopg2.Error as e:
print ("Errore nella connessione: "+ str(e.pgerror))
exit(1)
else:
print('Connesso.')
# Ricavo un oggetto cursor con il quale eseguire le query
cursor = conn.cursor()
# Cerco di eseguire la mia query
try:
cursor.execute("SELECT * FROM persone;")
records = cursor.fetchall()
except psycopg2.Error as e:
print ("Errore nella query: "+ str(e.pgerror))
exit(1)
else:
# Stampo il risultato a video
for i in range(0,cursor.rowcount):
print(
str(records[i][0])+ " " +
records[i][1]+ " " +
records[i][2]+ " " +
records[i][3]+ " "
);
conn.close()
main()
**Insert**
#!/usr/bin/python
import psycopg2
def main():
try:
conn_string = "user=fabio password=fabio dbname=test hostaddr=192.168.1.4 port=5432"
conn = psycopg2.connect(conn_string)
except psycopg2.Error as e:
print ("Errore nella connessione: "+ str(e.pgerror))
exit(1)
else:
print('Connesso.')
# Ricavo un oggetto cursor con il quale eseguire le query
cursor = conn.cursor()
# Cerco di eseguire la mia query
try:
cursor.execute("insert into persone (nome, cognome ,email) values ('Python','Postgresql','py@email.com')")
conn.commit()
except psycopg2.Error as e:
print ("Errore nella query: "+ str(e.pgerror))
exit(1)
else:
print("Query eseguita.")
conn.close()
main()