Recursos · Integración n8n

Integración Postgres n8nAutomatiza Postgres con n8n.

Las filas que tus flujos piden ya están guardadas en Postgres. La integración Postgres n8n cubre 6 operaciones sobre un único recurso Database, desde un Select filtrado hasta una consulta SQL en crudo, y un trigger que arranca el flujo con 3 eventos de tabla. Para equipos que ya escriben SQL.

Reseñas verificadas en Trustpilot · Agencia de IA, automatización y growth

Por qué automatizar

¿Qué cubre de verdad la integración Postgres n8n?

n8n trae dos nodos para PostgreSQL. El nodo Postgres lee y escribe filas con 6 operaciones agrupadas en un único recurso Database, y el Postgres Trigger arranca un flujo cuando una tabla cambia. Los dos comparten el mismo credential de Postgres, es decir, la conexión que guardas una sola vez en el menú Credentials y reutilizas en todos los flujos de la instancia.

El primer patrón nace dentro de la base. El Postgres Trigger vigila la tabla de pedidos, el flujo arranca con INSERT, un database.select recupera la fila del cliente y el resumen aparece en Slack para quien esté de guardia. Nadie recarga un panel de administración para enterarse de que ha entrado un pedido.

El segundo patrón va en sentido contrario. Una revisión de datos necesita seguimiento, así que un database.select filtrado saca las filas incoherentes, abre una tarjeta en Jira y marca cada fila tratada con database.update para que la siguiente pasada las ignore.

El tercer patrón es la sincronización nocturna. Las filas llegan de otro sistema, muchas veces Mongodb, y database.upsert las escribe de una pasada: inserta las que faltan y actualiza las que ya están. Lanzar dos veces el mismo flujo deja la tabla igual.

Cinco de las seis operaciones mapean las columnas por ti, y eso cubre el día a día. Cuando hace falta un join, un agregado o una función de ventana, database.executeQuery acepta el SQL tal cual. Una expresión de n8n toma un campo del item entrante con la forma {{ $json.campo }}, así que la misma consulta cambia de una ejecución a otra. Aquí la opción Query Parameters pesa: los valores de la lista se citan en la consulta como $1, $2 y $3, y n8n los sanea, algo que la ayuda del nodo recomienda frente a la inyección SQL.

Dos comportamientos conviene conocerlos antes de montar nada. Las columnas de tipo fecha vuelven como cadenas datetime ISO 8601, porque n8n lee Postgres a través del paquete pg: una fecha guardada puede llegar con hora y zona horaria. La solución documentada es TO_CHAR en el momento de la consulta. Y Select devuelve la tabla entera solo con Return All activado; si no, Limit pone el techo.

Si la plataforma todavía está en el aire, la Reseña n8n repasa los compromisos frente a las alternativas alojadas, y el Curso n8n cubre el montaje de estos flujos de principio a fin.

Conexión

¿Cómo conectar Postgres con n8n?

  1. 01

    Crea antes la cuenta de base de datos

    El credential se apoya en una cuenta de usuario que ya existe en el servidor Postgres, así que créala antes de abrir n8n. El nodo ofrece un único método de autenticación, Database connection: no hay pantalla de OAuth ni token que renovar. Dale a esa cuenta los permisos que el flujo necesita y ninguno más, porque cada operación del nodo se ejecuta con su identidad.

  2. 02

    Rellena el credential de Postgres

    Cinco campos describen la conexión: Host, Database, User, Password y Port. Si el host o el puerto no están claros, el comando /conninfo devuelve los dos, igual que las consultas SELECT inet_server_addr(); y SELECT inet_server_port(); lanzadas desde una sesión en el servidor.

  3. 03

    Decide por dónde viaja la conexión

    SSL admite tres valores: Allow prueba primero sin cifrado y pasa a SSL, Disable se queda en claro, Require solo acepta SSL y comprueba el certificado del servidor con el fichero de CA raíz presente. Ignore SSL Issues conecta aunque falle la validación. SSH Tunnel envuelve la sesión en SSH, por contraseña o por Private Key y Passphrase.

Disparadores

¿Qué dispara un flujo desde Postgres ?

Postgres Trigger es el nodo que arranca un workflow cuando algo ocurre en Postgres. Cubre 3 eventos, listados abajo por familia. Activas el workflow y cada evento recibido se convierte en una ejecución.

Lo que ves en n8n

Todos los eventos, por familia

Una fila por objeto, un chip por acción. El evento que marcas en el nodo se escribe objeto.acción; pasa el cursor por un chip para leer cuándo se dispara.

DELETE.*1
  • DELETE.
    • DELETE
INSERT.*1
  • INSERT.
    • INSERT
UPDATE.*1
  • UPDATE.
    • UPDATE

Notas de configuración

01Postgres Trigger setupEl Postgres Trigger, versión 1, lanza un flujo cuando algo se mueve en una tabla. Dos modos de escucha conviven en el mismo nodo, y los parámetros cambian según el modo elegido.

El Postgres Trigger, versión 1, lanza un flujo cuando algo se mueve en una tabla. Dos modos de escucha conviven en el mismo nodo, y los parámetros cambian según el modo elegido.

Parámetros clave

  • Listen For: Listen and Create Trigger Rule vigila una tabla, Listen to Channel vigila un canal con nombre.
  • Schema Name y Table Name: los dos son obligatorios, se eligen de una lista o se escriben por nombre.
  • Channel Name: obligatorio en modo canal, es el nombre del canal que el nodo vigila.
  • Event to listen for: Insert, Update o Delete, los 3 eventos que admite este nodo.
  • Additional Fields: Trigger Name, Function Name y Replace if Exists dan nombre a los objetos que crea n8n y le permiten sobrescribir un par existente.
Cuándo usarlo
n8n crea un trigger de Postgres sobre la tabla al publicar el flujo y lo quita al despublicarlo, así que el flujo tiene que estar activo para que el trigger escuche. Probar un flujo sin publicar añade los mismos objetos y los retira cuando para la escucha de prueba.
02Insert eventsMarca Insert en Event to listen for y el flujo arranca con cada fila añadida a la tabla vigilada. INSERT sigue siendo el evento por el que empiezan casi todas las automatizaciones de Postgres.

Marca Insert en Event to listen for y el flujo arranca con cada fila añadida a la tabla vigilada. INSERT sigue siendo el evento por el que empiezan casi todas las automatizaciones de Postgres.

Parámetros clave

  • Table Name: un nodo trigger escucha una sola tabla, así que la de altas y la de pedidos piden cada una la suya.
  • Connection Timeout: dentro de Options, los segundos reservados para conectar con la base, conviene subirlos en un servidor lejano.
Casos de uso
una fila de cliente nueva abre una secuencia de bienvenida, un pedido nuevo genera una orden de preparación. Combina el trigger con database.select cuando el flujo necesita los valores de la fila y no solo saber que apareció. En una tabla que recibe importaciones masivas, esa pareja también mantiene el flujo legible.
03Update eventsUpdate responde a UPDATE en la tabla vigilada, cambie la columna que cambie. Decidir si el cambio merece una acción ocurre más adelante en el flujo, no en el trigger.

Update responde a UPDATE en la tabla vigilada, cambie la columna que cambie. Decidir si el cambio merece una acción ocurre más adelante en el flujo, no en el trigger.

Parámetros clave

  • Schema Name: apunta al esquema que contiene de verdad la tabla y no al esquema por defecto por costumbre.
  • Delay Closing Idle Connection: los segundos de espera antes de que una conexión inactiva pase a ser candidata al cierre.
Casos de uso
una suscripción que pasa a cancelada dispara un correo de retención, una fila de stock que cae a cero avisa al comprador. El trigger toma un esquema, una tabla y un evento: filtrar por una columna concreta corresponde a los nodos siguientes, casi siempre un IF justo después. Comparar con el valor anterior evita mandar dos veces el mismo aviso.
04Delete eventsDELETE es el evento que ninguna otra cosa puede contarte, porque la fila ya salió de la tabla cuando alguien va a buscarla.

DELETE es el evento que ninguna otra cosa puede contarte, porque la fila ya salió de la tabla cuando alguien va a buscarla.

Parámetros clave

  • Function Name: da nombre al procedimiento que crea n8n para avisar del evento, útil cuando varios flujos vigilan el mismo esquema.
  • Replace if Exists: dentro de Additional Fields, sustituye una función y un trigger que ya llevan ese nombre en vez de fallar en la siguiente publicación.
Casos de uso
una cuenta borrada dispara la limpieza en las demás herramientas conectadas al flujo, una referencia retirada abre un ticket para que el responsable del dato confirme la intención. Prueba estos flujos sobre una copia de la tabla, porque después no se recupera nada. Nombrar la función y el trigger de forma explícita también ayuda a localizarlos del lado de la base.
Acciones

Lo que hace el nodo Postgres , operación por operación

El nodo Postgres expone 6 operaciones en 1 recursos. Para cada una: el nodo tal como lo configuras en n8n, los campos obligatorios y nuestras notas de campo.

Matriz recursos × operaciones
RecursoUpdateDeleteExecute QueryInsertSelectInsert or Update
Database✓✓✓✓✓✓

Database

6 operaciones
01

Delete table or rows

database.deleteTable

Lo que ves en n8n

Notas y casos de uso

Delete borra datos de una tabla. Según el comando elegido se lleva por delante la tabla entera, con su estructura incluida. Un solo parámetro decide.

Parámetros clave

  • Command: Truncate vacía la tabla y conserva su estructura, Delete quita las filas que cumplen las condiciones, Drop elimina datos y estructura de forma permanente.
  • Select Rows: una Column, un Operator y un Value; sin nada definido, quedan seleccionadas todas las filas.
  • Restart Sequences: devuelve las columnas de identidad a su valor inicial durante un Truncate.
Casos de uso
vaciar una tabla de preparación antes de una importación nocturna. O quitar las filas de un lote cancelado.
02

Execute a SQL query

database.executeQuery

Lo que ves en n8n

Notas y casos de uso

Execute Query manda el SQL al servidor tal como está escrito y devuelve lo que produzca la sentencia, joins y agregados incluidos.

Parámetros clave

  • Query: obligatorio, admite expresiones de n8n y los marcadores $1, $2 y $3 que apuntan a los valores de Query Parameters.
  • Query Parameters: una lista de valores separados por comas que n8n sanea, recomendada por la ayuda del nodo frente a la inyección SQL.
  • Treat query parameters in single quotes as text: lee '$1' como texto y no como marcador.
Casos de uso
un informe de facturación agrupado por producto, o un grupo IN construido con un array que llega en el item.
03

Insert rows in a table

database.insert

Lo que ves en n8n

Notas y casos de uso

Insert añade filas a una tabla a partir de los items que entran en el nodo, una fila por item.

Parámetros clave

  • Columns: obligatorio, y el modo de mapeo marca la diferencia. Map Each Column Manually fija un valor por columna, Map Automatically hace coincidir los nombres de los campos entrantes con los de las columnas.
  • Skip on Conflict: dentro de Options, salta la fila en vez de lanzar un error cuando se viola una restricción de unicidad o de exclusión.
  • Replace Empty Strings with NULL: útil cuando el dato sale de una hoja de cálculo.
Casos de uso
guardar las respuestas de un formulario según llegan, o registrar cada ejecución en una tabla de auditoría.
04

Insert or update rows in a table

database.upsert

Lo que ves en n8n

Notas y casos de uso

Insert or Update escribe un lote de filas de una sola pasada. Inserta las que la tabla todavía no tiene y actualiza las que ya están, así que repetir la ejecución no hace daño.

Parámetros clave

  • Columns: obligatorio, con los dos mismos modos de mapeo que Insert, Map Each Column Manually y Map Automatically.
  • Query Batching: Single Query manda una consulta para todos los items, Independent ejecuta una consulta por item, Transaction revierte todo si una falla.
Casos de uso
la sincronización programada de una lista de clientes que vive en otra herramienta, o la actualización de un catálogo donde los precios se mueven y aparecen referencias nuevas.
05

Select rows from a table

database.select

Lo que ves en n8n

Notas y casos de uso

Select lee filas sin que nadie escriba SQL. Condiciones, orden y lista de columnas de salida se ajustan en el panel del nodo.

Parámetros clave

  • Return All: activado, n8n recorre todas las páginas de resultados; desactivado, Limit pone el tope de filas devueltas.
  • Select Rows: Column, Operator y Value, con operadores que van de Equal y Not Equal a Like, Is Null e Is Not Null.
  • Sort: una columna y una Direction, ASC o DESC.
  • Output Columns: deja solo las columnas que el resto del flujo lee de verdad.
Casos de uso
los 25 tickets abiertos más antiguos para un resumen de la mañana, o las filas marcadas para exportar.
06

Update rows in a table

database.update

Lo que ves en n8n

Notas y casos de uso

Update cambia filas que ya existen y toma los valores nuevos de los items que entran en el nodo.

Parámetros clave

  • Columns: obligatorio. Map Automatically solo funciona si los nombres de los campos entrantes coinciden con los de las columnas, así que un nodo Edit Fields colocado antes suele encargarse del renombrado.
  • Output Large-Format Numbers As: Numbers por defecto, Text para columnas NUMERIC y BIGINT con más de 16 dígitos.
Casos de uso
marcar filas como procesadas cuando el mensaje ya salió, o escribir de vuelta una puntuación de enriquecimiento en la ficha de contacto.
Necesitas ayuda

¿Necesitas ayuda para automatizar Postgres con n8n?

El equipo te responde directamente.

Cada mensaje lo lee una persona.

FAQ

Postgres y n8n, las preguntas que se repiten

01¿La integración Postgres n8n es gratis?
Sí por el lado de n8n. El nodo Postgres y el Postgres Trigger vienen con n8n, así que no hay nada que instalar ni nada extra que pagar, tanto si el flujo corre en n8n Cloud como en una instancia autoalojada con la Community Edition y su licencia Sustainable Use. Lo que cuesta la base de datos depende de dónde esté alojada y queda fuera de n8n. El credential se crea una vez en el menú Credentials y se reutiliza en todas partes: un segundo o un décimo flujo de Postgres no añade ninguna línea a una factura de n8n.
02¿Qué credentials y qué permisos de base de datos hacen falta?
Un solo credential, basado en una Database connection, el único método de autenticación que ofrece el nodo. Pide Host, Database, User, Password y Port, más la opción SSL, Ignore SSL Issues y, si la red lo exige, un SSH Tunnel. La cuenta de usuario tiene que existir antes en el servidor Postgres. El trigger pide más que el nodo: n8n crea un trigger de Postgres y un procedimiento sobre la tabla vigilada, así que la cuenta del credential necesita permiso para crear y ejecutar triggers y procedimientos. En PostgreSQL eso significa acceso de superusuario, propiedad de la tabla o el privilegio TRIGGER, más el privilegio CREATE sobre el esquema donde vive el procedimiento.
03¿Qué límites tiene el nodo Postgres en n8n?
Depende de la consulta. El nodo expone 6 operaciones sobre un recurso Database y cinco de ellas mapean las columnas por ti. Todo lo demás pasa por Execute Query, que acepta el SQL tal cual. Dos comportamientos pillan por sorpresa. Select se para en Limit mientras Return All siga desactivado. Y las columnas de tipo fecha vuelven como cadenas datetime ISO 8601, porque n8n lee Postgres con el paquete pg: una fecha guardada puede llegar con hora y zona horaria. TO_CHAR en el momento de la consulta devuelve la fecha limpia. Guardar en UTC y fijar la zona horaria del flujo resuelve casi todo lo demás.
04¿El Postgres Trigger reacciona en tiempo real?
La documentación no lo dice, así que trata ese plazo como no documentado y no como una garantía. Lo que sí describe es el mecanismo de alrededor: n8n crea un trigger de Postgres sobre la tabla cuando publicas el flujo y lo retira cuando lo despublicas, y el flujo tiene que estar activo para que el trigger escuche. Probar un flujo sin publicar añade los mismos objetos y los quita cuando para la escucha de prueba. Monta el flujo para que aguante si dos eventos llegan seguidos. Cuando basta con un ritmo fijo, un Schedule Trigger seguido de un Select se razona mejor.
05¿n8n o Make para Postgres?
Cuatro criterios deciden. Alojamiento: n8n corre en tu propio servidor con Docker o npm, o en n8n Cloud, mientras que Make existe solo en versión alojada. Control del dato: en una instancia autoalojada las filas no salen de tu infraestructura, algo que pesa cuando la tabla guarda datos de clientes. Modelo de coste: Make factura por operación, así que un flujo que toca miles de filas no cuesta lo mismo que uno que se lanza un par de veces al día. Lógica visual: los dos dibujan el flujo en un lienzo y la diferencia aparece al tratar un lote de items. Empieza por la restricción que no puedes mover.