PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Vérification de la syntaxe PostgreSQL sans exécuter la requête

J'ai récemment écrit un utilitaire pour vérifier statiquement la syntaxe de SQL pour PostgreSQL. Il exploite ecpg, le préprocesseur SQL C intégré pour postgres, pour vérifier la syntaxe SQL, il utilise donc exactement le même analyseur qui est intégré à Postgres lui-même.

Vous pouvez le vérifier sur github :http://github.com/markdrago/pgsanity . Vous pouvez parcourir le README pour avoir une meilleure idée de son fonctionnement et pour obtenir des instructions sur la façon de l'installer. Voici un court exemple d'utilisation de pgsanity :

$ pgsanity good1.sql good2.sql bad.sql
bad.sql: line 1: ERROR: syntax error at or near "bogus_token"

$ find -name '*.sql' | xargs pgsanity
./sql/bad1.sql: line 59: ERROR: syntax error at or near ";"
./sql/bad2.sql: line 41: ERROR: syntax error at or near "insert"
./sql/bad3.sql: line 57: ERROR: syntax error at or near "update"