n8n con PostgreSQL es una de las combinaciones más potentes para automatizar flujos de datos sin escribir scripts de integración personalizados. Si tenés una base de datos PostgreSQL en tu aplicación o servidor, podés usar n8n para leer datos, insertar registros, actualizar información y sincronizar tu base de datos con docenas de otras herramientas, todo de forma visual y sin complicarte la vida.
Esta guía te muestra cómo configurar la conexión entre n8n con PostgreSQL paso a paso, qué operaciones están disponibles y cuáles son los flujos más útiles para desarrolladores, analistas de datos y equipos técnicos. Si ya usás PostgreSQL como base de datos principal de tu aplicación, con n8n podés automatizar tareas que antes requerían cron jobs o scripts dedicados.
¿Por qué conectar n8n con PostgreSQL?
PostgreSQL es una de las bases de datos relacionales más poderosas y populares del mundo, usada en proyectos de todo tamaño, desde startups hasta grandes empresas. Combinada con n8n, se convierte en el núcleo de automatizaciones de datos muy sofisticadas.
Casos de uso típicos de n8n con PostgreSQL:
- Sincronizar datos entre PostgreSQL y Google Sheets para reportes no técnicos
- Migrar datos entre bases de datos de forma automatizada
- Disparar workflows cuando se insertan nuevos registros en la base de datos
- Generar reportes automáticos enviados por email o Slack
- Limpiar y transformar datos en PostgreSQL como parte de un pipeline ETL
- Hacer backups selectivos de tablas a Google Drive o S3
Lo que hace especial a n8n para trabajar con PostgreSQL es que no necesitás escribir código de integración. Los nodos visuales te permiten construir pipelines de datos complejos combinando consultas SQL con procesamiento de datos y acciones en otras aplicaciones.
Requisitos para conectar n8n con PostgreSQL
Antes de empezar a configurar n8n con PostgreSQL, verificá que tenés todo lo necesario:
- Una instancia de PostgreSQL accesible desde n8n (local, en un VPS o en servicios como Supabase, Railway o Neon)
- Las credenciales de conexión: host, puerto (por defecto 5432), nombre de la base de datos, usuario y contraseña
- Si PostgreSQL está en un servidor remoto, asegurate de que el firewall permita conexiones desde la IP de tu instancia de n8n
- Usuario de PostgreSQL con los permisos necesarios (SELECT, INSERT, UPDATE, DELETE según lo que necesites)
- SSL habilitado si tu PostgreSQL está en la nube (Supabase, Railway y Neon lo requieren)
Paso 1: Configurar las credenciales de PostgreSQL en n8n
En n8n, andá a Settings → Credentials → Add Credential. Buscá «Postgres» (así aparece en n8n) y seleccionalo. Vas a ver el formulario de conexión con los siguientes campos:
- Host: la dirección de tu servidor PostgreSQL (puede ser localhost, una IP o un hostname como db.supabase.co)
- Database: el nombre de tu base de datos
- User: el usuario con acceso a la base de datos
- Password: la contraseña del usuario
- Port: por defecto 5432
- SSL: activalo si tu base de datos está en la nube
Una vez completados los campos, hacé clic en «Test» para verificar la conexión. Si es exitosa, guardá las credenciales.
Si falla, los mensajes de error más comunes son:
- «Connection refused»: el host o puerto son incorrectos, o el firewall bloquea la conexión
- «Authentication failed»: usuario o contraseña incorrectos
- «SSL connection required»: necesitás activar SSL en las credenciales de n8n
Si usás Supabase, encontrás los datos de conexión en Settings → Database del panel de Supabase. Si usás Railway, en la sección de tu servicio PostgreSQL hay una pestaña «Connect» con todos los datos. Podés consultar la documentación oficial de n8n para PostgreSQL si necesitás más detalle.
Paso 2: Operaciones disponibles en el nodo PostgreSQL de n8n
El nodo Postgres de n8n ofrece varias operaciones para trabajar con tu base de datos:
Execute Query
Ejecuta cualquier consulta SQL que escribas directamente. Es la opción más flexible y potente, ideal para consultas complejas con JOINs, aggregations o cualquier operación avanzada. Para la mayoría de los casos de uso con n8n con PostgreSQL, esta es la operación que vas a usar más.
Insert
Inserta uno o múltiples registros en una tabla. Podés mapear los campos de los datos entrantes a las columnas de la tabla de forma visual, sin escribir SQL.
Update
Actualiza registros existentes en la tabla según una condición. Podés especificar qué columnas actualizar y con qué valores dinámicos provenientes de otros nodos del workflow.
Delete
Elimina registros según una condición SQL. Usalo con cuidado y siempre probá primero con un SELECT para verificar qué registros vas a eliminar.
Select
Hace una consulta SELECT con opciones visuales para elegir columnas, condiciones y ordenamiento sin escribir SQL. Ideal si no estás tan cómodo con SQL puro.
Caso de uso: Sincronizar PostgreSQL con Google Sheets usando n8n
Este es el flujo más solicitado por equipos que tienen datos técnicos en PostgreSQL pero necesitan que personas no técnicas puedan verlos en formato de planilla.
El workflow es: Schedule Trigger (diario o por hora) → PostgreSQL Execute Query → Google Sheets (actualizar datos).
En el nodo PostgreSQL, escribís tu consulta SQL. Por ejemplo:
SELECT id, nombre, email, fecha_registro, plan, monto_total
FROM usuarios
WHERE activo = true
ORDER BY fecha_registro DESC
LIMIT 1000El resultado de la consulta llega a n8n como un array de objetos. Cada objeto es una fila con las columnas como propiedades.
En el nodo de Google Sheets, configurás la operación «Update» o «Append» según si querés actualizar la hoja completa o solo agregar los registros nuevos. Mapeás cada campo del resultado SQL a la columna correspondiente de la hoja.
Con este workflow, tu equipo de ventas o dirección puede consultar datos actualizados en una planilla de Google sin necesidad de acceder directamente a la base de datos. El flujo corre automáticamente según el intervalo que configures y mantiene la información siempre al día.
Caso de uso: Webhook + n8n con PostgreSQL para registro de eventos
Otro flujo muy útil es usar un webhook en n8n para recibir datos de una aplicación externa y guardarlos directamente en PostgreSQL. Esto funciona genial para registrar eventos, formularios web o integraciones con servicios que envían webhooks.
El workflow es: Webhook Trigger → Function (validar y transformar datos) → PostgreSQL Insert.
En el nodo Webhook, n8n genera una URL única. Cualquier aplicación que envíe un POST a esa URL dispara el workflow. En el nodo Function, podés validar que los datos tengan el formato correcto antes de insertarlos. Y en el nodo PostgreSQL, usás la operación Insert para guardar el registro.
Un ejemplo concreto: recibir datos de un formulario de Typeform, validarlos y guardarlos en una tabla de PostgreSQL. Todo automático, sin backend adicional.
Pipeline ETL con n8n y PostgreSQL
Si trabajás con datos, sabés que los pipelines ETL (Extract, Transform, Load) son fundamentales. Con n8n con PostgreSQL podés armar pipelines ETL completos de forma visual:
- Extract: usá el nodo PostgreSQL para extraer datos de tu base de datos con una consulta SQL
- Transform: usá nodos Function, Set o Code para limpiar, transformar y enriquecer los datos
- Load: usá otro nodo PostgreSQL (o cualquier otro destino) para cargar los datos transformados en la tabla de destino
Por ejemplo, podés extraer datos de ventas crudos, calcular métricas agregadas (venta promedio, total por categoría, tasa de conversión) y guardar los resultados en una tabla de reportes optimizada para consultas rápidas.
-- Ejemplo de consulta de extracción
SELECT
categoria,
COUNT(*) as total_ventas,
SUM(monto) as monto_total,
AVG(monto) as ticket_promedio
FROM ventas
WHERE fecha >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY categoria
ORDER BY monto_total DESCMejores prácticas de seguridad para n8n con PostgreSQL
Cuando conectás n8n con PostgreSQL, la seguridad es fundamental. Seguí estas recomendaciones:
- Usá un usuario dedicado: nunca uses el superusuario de PostgreSQL. Creá un usuario específico para n8n con solo los permisos que necesita
- Activá SSL siempre: especialmente si tu PostgreSQL está en la nube o en un servidor remoto
- Restringí el acceso por IP: configurá el archivo
pg_hba.confo las reglas del firewall para permitir conexiones solo desde la IP de tu n8n - Usá consultas parametrizadas: cuando uses datos dinámicos en tus consultas SQL, usá parámetros ($1, $2) en lugar de concatenar strings para evitar inyecciones SQL
- Hacé backups regulares: si tus workflows modifican datos, asegurate de tener backups automáticos de tu base de datos
- Revisá los logs: PostgreSQL registra las consultas ejecutadas, revisalos periódicamente para detectar comportamientos inesperados
Podés consultar la documentación oficial de PostgreSQL sobre autenticación para configurar correctamente el acceso.
Solución de problemas comunes con n8n y PostgreSQL
Si tenés problemas para conectar n8n con PostgreSQL, revisá estos escenarios frecuentes:
Error: «Connection timeout»
Tu instancia de n8n no puede alcanzar el servidor PostgreSQL. Verificá que el firewall permite la conexión en el puerto 5432 (o el que uses) y que el host es correcto. Si estás en Docker, asegurate de que los contenedores están en la misma red o que usás la IP correcta del host.
Error: «Relation does not exist»
La tabla que referenciás en tu consulta no existe en la base de datos a la que estás conectado. Verificá el nombre de la tabla y el esquema. Si tu tabla está en un esquema diferente a «public», usá el formato esquema.tabla en tu consulta.
Error: «Permission denied»
El usuario de PostgreSQL que configuraste en n8n no tiene permisos suficientes para la operación que intentás ejecutar. Otorgá los permisos necesarios con GRANT desde un usuario con privilegios administrativos.
Preguntas frecuentes sobre n8n con PostgreSQL
¿Puedo conectar n8n con múltiples bases de datos PostgreSQL?
Sí. Podés crear múltiples credenciales de PostgreSQL en n8n, una para cada base de datos. Esto es muy útil para migrar datos entre bases de datos o sincronizar información entre entornos (desarrollo, staging, producción).
¿n8n soporta triggers de PostgreSQL en tiempo real?
No directamente. n8n no tiene un trigger nativo que escuche eventos de PostgreSQL en tiempo real (como LISTEN/NOTIFY). Sin embargo, podés lograr un efecto similar usando un Schedule Trigger que consulte nuevos registros cada pocos minutos, o configurar un trigger de PostgreSQL que haga un HTTP POST al webhook de n8n.
¿Puedo ejecutar transacciones SQL desde n8n?
Sí, usando la operación Execute Query podés escribir bloques de SQL con BEGIN, COMMIT y ROLLBACK. Esto es útil cuando necesitás que múltiples operaciones se ejecuten de forma atómica.
¿Funciona n8n con PostgreSQL en Supabase?
Absolutamente. Supabase usa PostgreSQL como motor de base de datos, así que la conexión con n8n funciona perfectamente. Solo necesitás los datos de conexión que encontrás en el panel de Supabase y activar SSL en las credenciales de n8n. Si te interesa profundizar, te recomiendo revisar nuestra guía completa de automatización con n8n.
Sacale el máximo provecho a n8n con PostgreSQL
La combinación de n8n con PostgreSQL te permite automatizar prácticamente cualquier flujo de datos que involucre tu base de datos. Desde sincronizar datos con Google Sheets hasta armar pipelines ETL completos, las posibilidades son enormes y no necesitás escribir código de integración desde cero.
Lo más importante es empezar simple: conectá tus credenciales, probá con una consulta SELECT básica y a partir de ahí construí workflows más complejos. Si ya tenés experiencia con SQL, vas a sentirte como en casa usando el nodo PostgreSQL de n8n.
¿Ya usás n8n con PostgreSQL o estás por arrancar? Si tenés dudas sobre la configuración o querés compartir tu caso de uso, dejá un comentario y te ayudamos. También te puede interesar nuestra guía sobre qué es n8n y para qué sirve si recién estás empezando con esta herramienta.