sexta-feira, 27 de maio de 2016

PhpPgAdmin - corrigindo erro na exportação de dados - Ubuntu 16.04

Observei que a função de exportar dados no PhpPgAdmin não está funcionando para as opções de COPY e SQL, a opção Download gera um arquivo vazio. Resolvi testar opção Exibir, mas apenas é mostrada uma página em branco, sem nenhuma pista do erro.
Procurei na internet por erros de dump no PhpPgAdmin, mas não obtive sucesso.
Buscando um pouco mais, esbarrei com um artigo que ensina instalar e configurar o PhpPgAdmin no ArchLinux e entre as explicações das configurações, uma me chamou a atenção, os arquivos de log. Então, seguindo o error.log do Apache vi que a última linha era exatamente um erro no pg_dump:

/usr/lib/postgresql/9.5/bin/pg_dump: invalid option -- 'i'
Try "pg_dump --help" for more information.

A minha chance de encontrar o erro no PhpPgAdmin ressurgiu, pesquisei um pouco mais e vi que no passado já houve casos de erros nas opções do pg_dump e que elas são carregadas no arquivo:

/usr/share/phppgadmin/dbexport.php

Abrindo o arquivo com o Gedit,

$ sudo  gedit /usr/share/phppgadmin/dbexport.php

Encontrei o erro na linha 76 explicada na linha 75:

// Build command for executing pg_dump.  '-i' means ignore version differences.
$cmd = $exe . ' -i';

Retirando a opção -i e deixando apenas a variável $exe, o erro desapareceu.
$cmd = $exe;

Os dumps do PhpPgAdmin voltaram a funcionar normalmente.

Para completar, pesquisando o a documentação do pg_dump, li que a opção -i foi marcada como deprecated na versão 9.1 do PostgreSQL (https://www.postgresql.org/docs/9.1/static/app-pgdump.html) e na versão atual, 9.5, ela já não aparece mais. Por isso o motivo do erro.

Francisco AC Lima






2 comentários:

Victor Velázquez disse...

Excelente amigo. me sirvió tu ayuda..

Unknown disse...

Que bom que o texto foi útil!