Usando postgresql en python con psycopg2
Si deseamos hacer algunos queries en PostgreSQL desde python, una opción, es usar la librería psycopg2. Y si no tenemos un ambiente PostgreSQL donde jugar, instalemos uno con docker
Habilitamos un container de PostgreSQL con Docker
# Creamos un container llamado dev-postgres con la credencial psql postgres:postgres123 docker run --name dev-postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres123 -d postgres docker container stop dev-postgres docker container start dev-postgres # Accedemos una shell en el container para verificar docker exec -it dev-postgres /bin/bash su - postgres # Creamos una db createdb example # Accedemos a la db con el cliente psql psql example # Creamos una tabla CREATE TABLE users ( id BIGSERIAL , name VARCHAR(32) ); # Insertamos un usuario INSERT INTO users (name) VALUES ('Juanito'); # Nos salimos \q exit exit
Instalación psycopg2
# Instalación usando conda conda install -c anaconda psycopg2 # Instalación usando pip pip install pip install psycopg2-binary
Ejemplo de conexión
import psycopg2 try: con = psycopg2.connect(user="postgres", password="postgres123", host="localhost", port="5432", database="example") cur = con.cursor() cur.execute("select * from users") records = cur.fetchall() for row in records: print(row[0],row[1]) except (Exception, psycopg2.Error) as error : print ("Error", error) finally: if(con): cur.close() con.close() print("PostgreSQL connection is closed")