PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Verificação de sintaxe do PostgreSQL sem executar a consulta


Recentemente, escrevi um utilitário para verificar estaticamente a sintaxe do SQL para PostgreSQL. Ele aproveita ecpg, o pré-processador SQL C embutido para postgres, para verificar a sintaxe SQL, então ele usa exatamente o mesmo analisador que está embutido no próprio Postgres.

Você pode conferir no github:http://github.com/markdrago/pgsanity . Você pode dar uma olhada no README para ter uma ideia melhor de como ele funciona e obter instruções sobre como instalá-lo. Aqui está um pequeno exemplo de como o pgsanity pode ser usado:
$ 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"