私は最近、SQLforPostgreSQLの構文を静的にチェックするユーティリティを作成しました。 postgresの埋め込みSQLCプリプロセッサであるecpgを利用してSQL構文をチェックするため、Postgres自体に組み込まれているのとまったく同じパーサーを使用します。
githubで確認できます: http://github.com/markdrago/pgsanity 。 READMEにスキムを与えて、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"