PostgresExecutor : Exécution d'une requête SQL (Postgres)

Lance une requête SQL postgres.

Il est possible de préparer la requête SQL. Une requête SQL préparée est une requête qui est pré-compilée avant son exécution. Cela implique que la requête est envoyée au serveur de base de données sans les paramètres spécifiques à la requête. Les valeurs des paramètres sont ensuite passées séparément à la requête pour être exécutées.

L'étape de préparation d'une requête SQL préparée consiste à analyser la structure de la requête, à la valider et à la pré-compiler. La requête est ensuite stockée dans la mémoire du serveur de base de données pour une utilisation ultérieure. Lorsque la requête est exécutée, seules les valeurs des paramètres sont envoyées au serveur de base de données pour être traitées, ce qui permet une exécution plus rapide et plus efficace de la requête.

L'utilisation de requêtes SQL préparées présente plusieurs avantages, notamment une réduction significative du temps d'exécution de la requête, une meilleure sécurité des données en évitant les attaques par injection SQL et une amélioration de la maintenance de la base de données en permettant une réutilisation facile des requêtes pré-compilées.

Configuration

Paramètres

  • Serveur (Expression) : adresse IP ou domaine permettant d'accéder au serveur de base de données Postgres.

  • Port (Expression) : Port permettant d'accéder à au serveur de base de données Postgres.

  • Base de donnée (Expression) : Nom de la base à utiliser.

  • Utilisateur (Expression) : Login du compte permettant d'accéder à au serveur de base de données Postgres.

  • Mot de passe (Expression) : Mot de passe du compte permettant d'accéder à au serveur de base de données Postgres.

  • Requête (Obligatoire, Expression) : Requête SQL à exécuter sur le serveur.

  • Paramètre : objet clés/valeurs qui sera utilisé pour préaprer la requête.

    • clé : Balise à trouver dans la requête

    • valeur (Expression) : Valeur à passer dans la requête SQL à la place de la balise

Si aucune informations de connexion n'est spécifiées, la base de donnée de GTF sera utilisée.

exemple de syntaxe pour préparer une requête :

SELECT * FROM schema.table WHERE colonne1 = [PREPARED_VALUE]

Il faudra que PREPARED_VALUE soit une des clés de l'objet qui sert de paramètre, la valeur associé sera alors passée à la requêtes lors de l'exécution et mise en forme en fonction de son type :

{
  "PREPARED_VALUE" : "Ma valeur pour colonne1"
}

Sortie

Modèle sortant

Si la requête est de type SELECT ou contient une clause RETURNING, la donnée sera accessible dans l'itération, sinon il y aura un tableau vide.

{
  "PostgresExecutor_X": {
    "data": [{
      "key1" : "Première ligne",
      "key2" : "Première ligne col 2",
      "key3" : "Première ligne col 3",
    }, {
      "key1" : "Deuxième ligne",
      "key2" : "Deuxième ligne col 2",
      "key3" : "Deuxième ligne col 3",
    }]
  },
}