pgAdmin III grava arquivos com lixo neles, o que faz com que o PSQL falhe

3

Eu encontrei o dilema de precisar executar alguns comandos do console psql porque um colega precisava usar a diretiva \i do psql em um script salvo para executar instruções SQL adicionais de outro arquivo, mas notei que o psql estava sufocando esses arquivos por causa de alguns caracteres extras de lixo que o pgAdmin estava escrevendo para eles:

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

psql é necessário aqui porque \i não é uma parte oficial do SQL, então ele não será executado se você enviar um comando assim diretamente para o intérprete do banco de dados, mesmo que tenha uma maneira de chegar ao arquivos no seu disco local.

Para manter as coisas simples, eu queria encontrar uma maneira de permitir que o editor sql do PgAdmin funcionasse bem com o Postgres, então não estou de repente dizendo a outras pessoas no trabalho para baixar e instalar outro editor apenas para contornar isso; eles já conhecem e usam o pgAdmin.

Perguntas relacionadas:

por SeldomNeedy 03.06.2015 / 20:59

1 resposta

2

Felizmente, há uma solução que não exige alterações no psql.exe ou algo assim.

Se você der uma olhada nas opções do PgAdmin III (Arquivo -> Opções), sob o título "Ferramenta de consulta" em "Arquivo de consulta", você encontrará uma opção de caixa de seleção "Escrever BOM para arquivos UTF". / p>

Depois de clicar em OK, você poderá salvar arquivos do PgAdmin que funcionam com a versão empacotada do psql.exe. Se você tem arquivos existentes que tinham a tabela UTF UTF presente que estava impedindo o psql de lê-los corretamente, você pode carregá-los a partir do editor de consulta SQL do PgAdmin e usar a opção Salvar como para salvá-los no lugar. Também deve funcionar para fazer apenas uma pequena alteração, como adicionar uma linha de comentário e fazer um Save (ctrl-S) regular.

    
por 03.06.2015 / 20:59