pgAdmin III escribe archivos que contienen basura, lo que provoca que PSQL falle

pgAdmin III escribe archivos que contienen basura, lo que provoca que PSQL falle

Me encontré con el dilema de necesitar ejecutar algunos psqlcomandos de la consola porque un colega necesitaba usar \ila directiva de psql en un script guardado para ejecutar declaraciones SQL adicionales desde otro archivo, pero noté que psql se estaba ahogando con estos archivos debido a algunos caracteres basura adicionales que pgAdmin les estaba escribiendo:

psql:C:/tmp/junk.sql:3: ERROR:  syntax error at or near "CREATE"
LINE 1: CREATE TABLE junktable (

psqles necesario aquí porque \ino es una parte oficial de SQL, por lo que no se ejecutará si envía un comando como ese directamente al intérprete de la base de datos, incluso si tuviera una forma de acceder a los archivos en su disco local.

Para simplificar las cosas, quería encontrar una manera de permitir que el editor sql de PgAdmin funcione bien con Postgres para no decirle de repente a otras personas en el trabajo que descarguen e instalen otro editor solo para solucionar este problema; ellos ya conocen y usan pgAdmin.

Preguntas relacionadas:

Respuesta1

Afortunadamente, existe una solución que no requiere modificaciones en psql.exe ni nada por el estilo.

Si hurga en las opciones de PgAdmin III (Archivo -> Opciones), bajo el encabezado "Herramienta de consulta" en "Consultar archivo", encontrará una opción de alternancia de casilla de verificación para "Escribir BOM para archivos UTF".

Opciones de PgAdmin III: Herramienta de consulta: Consultar archivo

Una vez que presione Aceptar, debería poder guardar los archivos de PgAdmin que funcionan con la versión empaquetada de psql.exe. Si tiene archivos existentes que tenían presente la tabla BOM UTF que impedía que psql los leyera correctamente, puede cargarlos desde el editor de consultas SQL de PgAdmin y luego simplemente usar la opción Guardar como para guardarlos en su lugar. También debería funcionar hacer un pequeño cambio, como agregar una línea de comentario y guardar normalmente (ctrl-S).

información relacionada