Nedávno jsem napsal nástroj pro statickou kontrolu syntaxe SQL pro PostgreSQL. Ke kontrole syntaxe SQL využívá ecpg, vestavěný preprocesor SQL C pro postgres, takže používá přesně stejný analyzátor, který je zabudován do samotného Postgresu.
Můžete se na to podívat na githubu:http://github.com/markdrago/pgsanity . Soubor README si můžete prohlédnout, abyste získali lepší představu o tom, jak funguje, a získali pokyny, jak jej nainstalovat. Zde je krátký příklad toho, jak lze pgsanity použít:
$ 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"