Strumenti Utente

Strumenti Sito


Barra laterale

programmazione:python:psycopg2

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()

programmazione/python/psycopg2.txt · Ultima modifica: 18/04/2018 - 15:49 (modifica esterna)