Recientemente escribí una utilidad para verificar estáticamente la sintaxis de SQL para PostgreSQL. Aprovecha ecpg, el preprocesador de SQL C integrado para postgres, para comprobar la sintaxis de SQL, por lo que utiliza exactamente el mismo analizador que está integrado en Postgres.
Puede comprobarlo en github:http://github.com/markdrago/pgsanity . Puede hojear el LÉAME para tener una mejor idea de cómo funciona y obtener instrucciones sobre cómo instalarlo. Aquí hay un breve ejemplo de cómo se puede usar 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"