phpPgAdmin exportando dump SQL vazio?


10

Estou tentando exportar um banco de dados PostgreSQL do phpPgAdmin e, por algum motivo, está despejando um arquivo SQL vazio.

O banco de dados definitivamente não está vazio.

Para exportá-lo, clique no banco de dados, exporte e selecione estrutura e dados.

Alguma idéia de por que isso seria? obrigado


2
Você pode exportar o mesmo banco de dados usando o mesmo nome de usuário na linha de comando?
Khaled

Os logs também seriam relevantes aqui (Apache e phppgAdmin, se forem usados). Pode estar ocorrendo um erro na exportação.
Andrew M.

Eu consegui exportá-lo da linha de comando, deve haver algum tipo de erro no meu phpPgAdmin, eu acho. Obrigado!
Probocop

Respostas:


8

você precisa modificar seu dbexport.php em / usr / share / phppgadmin (no Ubuntu)

modificar linha de passthru($cmd);para echo passthru($cmd); modificar linha $cmd = $exe . " -i";para$cmd = $exe;

será o suficiente. Causa parâmetro -iparece estar obsoleto no postgres 9.5, ele deu erro para mim.


1
Acontece que a última versão do PhpPgAdmin é de 2013. No entanto, existe um repo github.com/phppgadmin/phppgadmin em que ele ainda é mantido (mais ou menos) e o último commit no ramo mestre já solucionou esse problema. como você descreveu.
Forseti

É bom saber se ele ainda está diminuído e resolvido esse pequeno problema! :) No entanto, não o estou usando agora (tenho o meu, escrito em java) #
Shadow

1

Consegui exportá-lo da linha de comando usando:

./pg_dump -U postgres -c -f /htdocs/databasename.sql databasename

3
Você pode não querer despejar seu banco de dados no webroot, mesmo que você tenha ofuscado o nome.
Dana the Sane

1

Eu tive o mesmo problema e verifiquei meu log:

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

O phpPgAdmin usa a opção -d, que foi descontinuada em 2009, então editei o dbexport.php e substitui o "-d" por "--inserts", agora funciona perfeitamente: D!

http://archives.postgresql.org/message-id/49B53447.30402@endpoint.com


Na minha instalação do phpPgAdmin, eu já tinha --insertse -dainda não obtive um arquivo vazio.
JustAMartin

0

Na interface de exportação, escolha o tipo de exportação "SQL" retornando um arquivo vazio. Selecionar "tipo de exportação" como "CÓPIA" é a escolha certa aqui - ele retorna o arquivo sql de despejo.

Mas também acho que o phppgadmin é uma droga o suficiente para usarmos a linha de comando. Por exemplo, ele falharia, mas não relataria erro se você enviar um arquivo sql que exceda o tamanho permitido de upload (geralmente ~ 2 MB).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.