Conectar PostgreSQL con Jupyter Notebooks usando Python

Clase 26 de 29Curso de PostgreSQL

Resumen

Configurar un entorno eficiente para realizar consultas SQL directamente desde Jupyter Notebooks es sencillo y aporta grandes beneficios en análisis y visualización de datos. Con la instalación adecuada de paquetes como Psychopg2 y Pandas, se amplían considerablemente las capacidades analíticas mediante conexiones directas a PostgreSQL.

¿Cómo configurar Jupyter Notebook para consultar PostgreSQL?

La configuración inicial implica instalar algunos paquetes esenciales para trabajar cómodamente desde un cuaderno Jupyter:

  • Psychopg2 Binary, un paquete necesario para establecer conexiones con PostgreSQL mediante Python.
  • Pandas, para almacenar y manejar datos cómodamente en un formato amigable y eficiente.

Instala ambos paquetes con mayor rapidez combinando su instalación en una sola línea:

!pip install psycopg2-binary pandas

¿Cómo conectar desde Python a PostgreSQL?

La conexión a una base de datos PostgreSQL desde Python requiere cinco datos básicos:

  • Nombre de la base de datos.
  • Usuario con acceso.
  • Contraseña (por ejemplo, Platzi rules).
  • Dirección IP del servidor PostgreSQL (en este caso, 172.29.39.4).
  • Número de puerto (habitualmente el predeterminado).

La configuración se realiza en un bloque sencillamente organizado:

import psycopg2
import pandas as pd

conexion = psycopg2.connect(
    dbname="nombre_db",
    user="tu_usuario",
    password="Platzi rules",
    host="172.29.39.4",
    port="5432"
)

cursor = conexion.cursor()

¿Cómo ejecutar consultas SQL desde Jupyter Notebooks?

Después de establecer la conexión a PostgreSQL, ejecutar consultas SQL es muy intuitivo. Por ejemplo, recuperar datos limitados desde la tabla customer se hace de la siguiente manera:

cursor.execute("SELECT * FROM customer LIMIT 6")
resultados = cursor.fetchall()
df = pd.DataFrame(resultados)
df

Finalmente, se recomienda cerrar adecuadamente el cursor y la conexión:

cursor.close()
conexion.close()

Utilizando estas simples pautas, es posible ejecutar consultas SQL desde Jupyter Notebooks aprovechando las funcionalidades de visualización avanzadas integradas en este entorno.