Ressources · Intégration n8n

Intégration Postgres n8nAutomatiser Postgres avec n8n.

Les lignes que tes workflows réclament dorment déjà dans Postgres. L'intégration Postgres n8n couvre 6 opérations sur une ressource Database, du Select filtré à la requête SQL brute, plus un trigger qui démarre un workflow sur 3 événements de table. Pour les équipes qui écrivent déjà du SQL.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

Que couvre vraiment l'intégration Postgres n8n ?

n8n livre deux nœuds pour PostgreSQL. Le nœud Postgres lit et écrit des lignes via 6 opérations regroupées sur une ressource Database unique, et le Postgres Trigger démarre un workflow quand une table bouge. Les deux partagent le même credential Postgres, c'est-à-dire la connexion enregistrée une fois dans le menu Credentials et réutilisée par tous les workflows de l'instance.

Premier cas, la base prévient toute seule. Le Postgres Trigger surveille la table des commandes, le workflow part sur INSERT, un database.select récupère la ligne client associée et le récapitulatif arrive dans Gmail pour l'équipe atelier. Personne ne rafraîchit un écran d'administration pour savoir qu'une commande est tombée.

Deuxième cas, le reporting du mois. Le cabinet comptable veut son tableau, alors un workflow programmé lance un database.select trié, écrit le résultat dans Google Sheets, puis marque les lignes exportées avec database.update pour que le passage suivant les ignore.

Troisième cas, la synchro de nuit. Les lignes viennent d'un autre système, souvent Mysql, et database.upsert les écrit en une passe : il insère celles qui manquent, il met à jour celles qui existent déjà. Relancer deux fois le même workflow ne crée pas de doublon.

Cinq opérations sur six mappent les colonnes à ta place, ce qui suffit la plupart du temps. Dès qu'il faut une jointure, un agrégat ou une fonction de fenêtrage, database.executeQuery prend le SQL tel quel. Une expression n8n va chercher un champ de l'item entrant, sous la forme {{ $json.champ }}, donc la même requête change d'une exécution à l'autre. L'option Query Parameters compte ici : les valeurs listées se rappellent dans la requête sous la forme $1, $2, $3, et n8n les assainit, ce que l'aide du nœud recommande contre l'injection SQL.

Deux comportements méritent un coup d'œil avant de construire. Les colonnes de type date reviennent en chaînes datetime ISO 8601, parce que n8n lit Postgres via le paquet pg : une date stockée peut donc arriver avec une heure et un fuseau. Le contournement documenté, c'est TO_CHAR au moment de la requête. Quant à Select, il ne ramène toute la table que si Return All est activé, sinon Limit plafonne le résultat.

Si le choix de la plateforme reste ouvert, l'Avis n8n détaille les arbitrages face aux alternatives hébergées, et la Formation n8n couvre la construction de ces workflows de bout en bout.

Connexion

Comment connecter Postgres à n8n ?

  1. 01

    Créer d'abord le compte de connexion

    Le credential s'appuie sur un compte utilisateur qui existe déjà sur le serveur Postgres, donc crée-le avant d'ouvrir n8n. Le nœud ne propose qu'une méthode d'authentification, Database connection : pas d'écran OAuth, pas de jeton à renouveler. Donne à ce compte les droits dont le workflow a besoin et rien de plus, puisque chaque opération du nœud s'exécute sous son identité.

  2. 02

    Remplir le credential Postgres

    Cinq champs décrivent la connexion : Host, Database, User, Password et Port. Si l'hôte ou le port n'est pas clair, la commande /conninfo renvoie les deux, tout comme les requêtes SELECT inet_server_addr(); et SELECT inet_server_port(); lancées depuis une session sur le serveur.

  3. 03

    Choisir le chemin de la connexion

    SSL prend trois valeurs : Allow essaie d'abord sans chiffrement puis bascule en SSL, Disable reste en clair, Require n'accepte que le SSL et vérifie le certificat du serveur face au fichier de CA racine présent. Ignore SSL Issues connecte même si la validation échoue. SSH Tunnel encapsule la session dans SSH, par mot de passe ou Private Key et Passphrase.

Déclencheurs

Qu'est-ce qui déclenche un workflow depuis Postgres ?

Postgres Trigger est le nœud qui démarre un workflow quand quelque chose se passe dans Postgres. Il couvre 3 événements, listés ci-dessous par famille. Tu actives le workflow et chaque événement reçu devient une exécution.

Ce que tu vois dans n8n

Tous les événements, par famille

Une ligne par objet, une puce par action. L'événement à cocher dans le nœud s'écrit objet.action ; survole une puce pour lire quand il se déclenche.

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

Notes de configuration

01Postgres Trigger setupLe Postgres Trigger, version 1, lance un workflow quand une table bouge. Deux modes d'écoute cohabitent dans le même nœud, et les paramètres changent selon le mode choisi.

Le Postgres Trigger, version 1, lance un workflow quand une table bouge. Deux modes d'écoute cohabitent dans le même nœud, et les paramètres changent selon le mode choisi.

Paramètres clés

  • Listen For : Listen and Create Trigger Rule surveille une table, Listen to Channel surveille un canal nommé.
  • Schema Name et Table Name : les deux sont requis, à choisir dans une liste ou à saisir au nom.
  • Channel Name : requis en mode canal, c'est le nom du canal que le nœud surveille.
  • Event to listen for : Insert, Update ou Delete, les 3 événements gérés par ce nœud.
  • Additional Fields : Trigger Name, Function Name et Replace if Exists nomment les objets créés par n8n et l'autorisent à écraser une paire existante.
Quand l'utiliser
n8n crée un trigger Postgres sur la table visée à la publication du workflow et le retire à la dépublication, donc le workflow doit être actif pour que le trigger écoute. Tester un workflow non publié ajoute les mêmes objets et les enlève à l'arrêt de l'écoute de test.
02Insert eventsCoche Insert dans Event to listen for et le workflow démarre à chaque ligne ajoutée dans la table surveillée. INSERT reste l'événement par lequel commencent la plupart des automatisations Postgres.

Coche Insert dans Event to listen for et le workflow démarre à chaque ligne ajoutée dans la table surveillée. INSERT reste l'événement par lequel commencent la plupart des automatisations Postgres.

Paramètres clés

  • Table Name : un nœud trigger écoute une seule table, donc la table des inscriptions et celle des commandes demandent chacune la leur.
  • Connection Timeout : dans Options, le nombre de secondes réservées à la connexion à la base, à augmenter sur un serveur distant.
Cas d'usage
une nouvelle ligne client ouvre une séquence d'accueil, une nouvelle commande crée un bon de préparation. Associe le trigger à database.select quand le workflow a besoin des valeurs de la ligne et pas seulement de son apparition. Sur une table qui reçoit des imports en masse, cette combinaison garde aussi le workflow lisible.
03Update eventsUpdate réagit à UPDATE sur la table surveillée, quelle que soit la colonne modifiée. Décider si le changement mérite une action se fait plus loin dans le workflow, pas dans le trigger.

Update réagit à UPDATE sur la table surveillée, quelle que soit la colonne modifiée. Décider si le changement mérite une action se fait plus loin dans le workflow, pas dans le trigger.

Paramètres clés

  • Schema Name : vise le schéma qui contient réellement la table, pas le schéma par défaut par habitude.
  • Delay Closing Idle Connection : le nombre de secondes d'attente avant qu'une connexion inactive devienne éligible à la fermeture.
Cas d'usage
un abonnement qui passe en annulé lance un mail de rétention, une ligne de stock qui tombe à zéro alerte l'acheteur. Le trigger prend un schéma, une table et un événement : le filtrage sur une colonne précise revient donc aux nœuds suivants, souvent un IF juste après. Comparer avec la valeur précédente évite d'envoyer deux fois le même message.
04Delete eventsDELETE est l'événement que rien d'autre ne peut te raconter, puisque la ligne a quitté la table au moment où quelqu'un vient la chercher.

DELETE est l'événement que rien d'autre ne peut te raconter, puisque la ligne a quitté la table au moment où quelqu'un vient la chercher.

Paramètres clés

  • Function Name : nomme la procédure créée par n8n pour signaler l'événement, pratique quand plusieurs workflows surveillent le même schéma.
  • Replace if Exists : dans Additional Fields, remplace une fonction et un trigger portant déjà le même nom au lieu d'échouer à la publication suivante.
Cas d'usage
un compte supprimé déclenche le nettoyage dans les autres outils reliés au workflow, une référence retirée ouvre un ticket pour que le responsable de la donnée confirme l'intention. Teste ces workflows sur une copie de la table, parce que rien ne se rattrape ensuite. Nommer explicitement la fonction et le trigger aide aussi à les repérer côté base.
Actions

Ce que le nœud Postgres sait faire, opération par opération

Le nœud Postgres expose 6 opérations sur 1 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.

Matrice ressources × opérations
RessourceUpdateDeleteExecute QueryInsertSelectInsert or Update
Database✓✓✓✓✓✓

Database

6 opérations
01

Delete table or rows

database.deleteTable

Ce que tu vois dans n8n

Notes & cas d'usage

Delete efface des données dans une table. Selon la commande choisie, il emporte aussi la table elle-même, sa structure comprise. Un seul paramètre tranche.

Paramètres clés

  • Command : Truncate vide la table et conserve sa structure, Delete supprime les lignes qui répondent aux conditions, Drop supprime les données et la structure définitivement.
  • Select Rows : une Column, un Operator et une Value ; sans rien de défini, toutes les lignes de la table sont sélectionnées.
  • Restart Sequences : remet les colonnes d'identité à leur valeur initiale pendant un Truncate.
Cas d'usage
vider une table de préparation avant un import nocturne. Ou retirer les lignes d'un lot annulé.
02

Execute a SQL query

database.executeQuery

Ce que tu vois dans n8n

Notes & cas d'usage

Execute Query envoie le SQL au serveur tel qu'il est écrit et renvoie ce que la requête produit, jointures et agrégats compris.

Paramètres clés

  • Query : requis, accepte les expressions n8n et les jetons $1, $2, $3 qui pointent vers les valeurs définies dans Query Parameters.
  • Query Parameters : une liste de valeurs séparées par des virgules, que n8n assainit, recommandée par l'aide du nœud contre l'injection SQL.
  • Treat query parameters in single quotes as text : lit '$1' comme du texte et non comme un emplacement.
Cas d'usage
un rapport de chiffre d'affaires groupé par produit, ou un groupe IN construit à partir d'un tableau porté par l'item entrant.
03

Insert rows in a table

database.insert

Ce que tu vois dans n8n

Notes & cas d'usage

Insert ajoute des lignes dans une table à partir des items qui entrent dans le nœud, une ligne par item.

Paramètres clés

  • Columns : requis, et c'est le mode de mapping qui fait le travail. Map Each Column Manually fixe une valeur par colonne, Map Automatically fait correspondre les noms des champs entrants aux noms des colonnes.
  • Skip on Conflict : dans Options, ignore la ligne au lieu de lever une erreur quand une contrainte d'unicité ou d'exclusion est violée.
  • Replace Empty Strings with NULL : utile quand la donnée sort d'un tableur.
Cas d'usage
stocker les réponses d'un formulaire au fil de l'eau, ou journaliser chaque exécution dans une table d'audit.
04

Insert or update rows in a table

database.upsert

Ce que tu vois dans n8n

Notes & cas d'usage

Insert or Update écrit un lot de lignes en une passe. Il insère celles que la table n'a pas encore et met à jour celles qui existent, ce qui rend une seconde exécution inoffensive.

Paramètres clés

  • Columns : requis, avec les deux mêmes modes de mapping qu'Insert, Map Each Column Manually et Map Automatically.
  • Query Batching : Single Query envoie une seule requête pour tous les items, Independent exécute une requête par item, Transaction annule tout si une requête échoue.
Cas d'usage
la synchro programmée d'un fichier clients détenu par un autre outil, ou la mise à jour d'un catalogue où les prix bougent et où de nouvelles références apparaissent.
05

Select rows from a table

database.select

Ce que tu vois dans n8n

Notes & cas d'usage

Select lit des lignes sans que personne écrive de SQL. Conditions, tri et liste des colonnes de sortie se règlent dans le panneau du nœud.

Paramètres clés

  • Return All : activé, n8n enchaîne toutes les pages de résultats ; désactivé, Limit plafonne le nombre de lignes renvoyées.
  • Select Rows : Column, Operator et Value, avec des opérateurs qui vont d'Equal et Not Equal à Like, Is Null et Is Not Null.
  • Sort : une colonne et une Direction, ASC ou DESC.
  • Output Columns : ne garde que les colonnes que la suite du workflow lit vraiment.
Cas d'usage
les 25 tickets ouverts les plus anciens pour un récap du matin, ou les lignes marquées pour export.
06

Update rows in a table

database.update

Ce que tu vois dans n8n

Notes & cas d'usage

Update modifie des lignes qui existent déjà, en prenant les nouvelles valeurs dans les items qui entrent.

Paramètres clés

  • Columns : requis. Map Automatically ne marche que si les noms des champs entrants correspondent aux noms des colonnes, donc un nœud Edit Fields placé avant fait souvent le renommage.
  • Output Large-Format Numbers As : Numbers par défaut, Text pour les colonnes NUMERIC et BIGINT qui dépassent 16 chiffres.
Cas d'usage
marquer les lignes comme traitées une fois le message parti, ou réécrire un score d'enrichissement sur une fiche contact.
Besoin d'aide

Besoin d'aide pour automatiser Postgres avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Postgres et n8n, les questions qui reviennent

01L'intégration Postgres n8n est-elle gratuite ?
Oui côté n8n. Le nœud Postgres et le Postgres Trigger sont livrés avec n8n : rien à installer, rien à payer en plus, que le workflow tourne sur n8n Cloud ou sur une instance auto-hébergée en Community Edition sous licence Sustainable Use. Ce que coûte la base elle-même dépend de l'endroit où elle tourne, et ça sort du périmètre de n8n. Le credential se crée une fois dans le menu Credentials et se réutilise partout : un deuxième ou un dixième workflow Postgres n'ajoute aucune ligne à une facture n8n.
02Quels credentials et quels droits sur la base faut-il ?
Un seul credential, basé sur une Database connection, la seule méthode d'authentification proposée par le nœud. Il demande Host, Database, User, Password et Port, plus le choix SSL, Ignore SSL Issues et, si le réseau l'impose, un SSH Tunnel. Le compte utilisateur doit exister au préalable sur le serveur Postgres. Le trigger demande davantage que le nœud : n8n crée un trigger Postgres et une procédure sur la table visée, donc le compte du credential doit pouvoir créer et exécuter des triggers et des procédures. Dans PostgreSQL, ça passe par un accès superutilisateur, la propriété de la table ou le privilège TRIGGER, plus le privilège CREATE sur le schéma qui héberge la procédure.
03Quelles sont les limites du nœud Postgres dans n8n ?
Ça dépend de la requête. Le nœud expose 6 opérations sur une ressource Database, et cinq d'entre elles mappent les colonnes à ta place. Tout le reste passe par Execute Query, qui prend le SQL tel quel. Deux comportements surprennent. Select s'arrête à Limit tant que Return All n'est pas activé. Et les colonnes de type date reviennent en chaînes datetime ISO 8601, parce que n8n lit Postgres via le paquet pg : une date stockée peut arriver avec une heure et un fuseau. TO_CHAR au moment de la requête rend la date simple. Stocker en UTC et régler le fuseau du workflow règle le reste.
04Le Postgres Trigger réagit-il en temps réel ?
La documentation ne le dit pas, donc traite ce délai comme non documenté plutôt que garanti. Ce qui est décrit, c'est le mécanisme autour : n8n crée un trigger Postgres sur la table quand tu publies le workflow et le retire quand tu le dépublies, et le workflow doit être actif pour que le trigger écoute. Tester un workflow non publié ajoute les mêmes objets et les retire à l'arrêt de l'écoute de test. Construis donc le workflow pour qu'il tienne si deux événements arrivent coup sur coup. Quand un rythme fixe suffit, un Schedule Trigger suivi d'un Select se raisonne plus facilement.
05n8n ou Make pour Postgres ?
Quatre critères tranchent. L'hébergement : n8n tourne sur ton propre serveur via Docker ou npm, ou sur n8n Cloud, quand Make existe uniquement en version hébergée. La maîtrise des données : sur une instance auto-hébergée, les lignes ne quittent pas ton infrastructure, ce qui pèse lourd quand la table contient des données clients. Le modèle de coût : Make facture à l'opération, donc un workflow qui touche des milliers de lignes ne se chiffre pas comme un workflow qui part deux fois par jour. La logique visuelle : les deux dessinent le flux sur un canevas, et l'écart se voit dans la façon de traiter un lot d'items. Pars de la contrainte que tu ne peux pas déplacer.