PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Verifica della sintassi PostgreSQL senza eseguire la query

Di recente ho scritto un'utilità per controllare staticamente la sintassi di SQL per PostgreSQL. Sfrutta ecpg, il preprocessore SQL C incorporato per Postgres, per controllare la sintassi SQL, quindi utilizza lo stesso identico parser integrato in Postgres stesso.

Puoi verificarlo su github:http://github.com/markdrago/pgsanity . Puoi dare una scrematura al README per avere un'idea migliore di come funziona e per avere indicazioni su come installarlo. Ecco un breve esempio di come utilizzare 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"