Наскоро написах помощна програма за статична проверка на синтаксиса на SQL за PostgreSQL. Той използва ecpg, вградения SQL C препроцесор за postgres, за проверка на SQL синтаксиса, така че използва абсолютно същия анализатор, който е вграден в самия Postgres.
Можете да го проверите в github:http://github.com/markdrago/pgsanity . Можете да прегледате README, за да получите по-добра представа как работи и да получите указания как да го инсталирате. Ето кратък пример за това как може да се използва 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"