Quiero verificar la sintaxis de los archivos que contienen consultas sql antes de que puedan comprometerse en mi proyecto de CVS.verificación de sintaxis postgresql sin ejecutar la consulta
Para hacer eso, tengo un script de commitinfo, pero me cuesta averiguar si los comandos de sql son válidos. psql
no parece tener un modo dryrun, y la construcción de mi propio postgresql-dialact tester a partir de la gramática (que está en la fuente) parece un tramo largo.
Las secuencias de comandos pueden contener varias consultas, por lo que no se puede ajustar un EXPLAIN
.
¿Alguna pista?
he problema relacionado con SP en el bloque de PostgreSQL no validado hasta que su llamada no – triclosan
@triclosan: Puede que le interesen en ['plpgsql lint'] (https://github.com/okbob/plpgsql_lint) que trata exactamente esta falta de información. Pavel Stěhule es el desarrollador principal. Ver esta [publicación de blog] (http://okbob.blogspot.com/2011/07/plpgsql-lint.html). –
No tengo mucha experiencia con postgres, por lo que esta es probablemente una mala solución que no es digna de una respuesta real, pero simplemente agrego una línea de basura al final del script que sé que causará un error. Si el primer error que golpea es la línea de basura, puedo estar razonablemente seguro de que el resto del script está bien. A diferencia de una transacción, conserva valores de secuencia, y para scripts simples es más rápido y más fácil que descargar otra utilidad. –