phpPgAdmin exportiert leeren SQL-Dump?

10

Ich versuche, eine PostgreSQL-Datenbank aus phpPgAdmin zu exportieren, und aus irgendeinem Grund wird eine leere SQL-Datei ausgegeben.

Die Datenbank ist definitiv nicht leer.

Um es zu exportieren, klicke ich auf die Datenbank, exportiere sie und wähle dann Struktur und Daten aus.

Irgendeine Idee warum das so wäre? Vielen Dank

Probocop
quelle
2
Können Sie dieselbe Datenbank mit demselben Benutzernamen über die Befehlszeile exportieren?
Khaled
Protokolle wären auch hier relevant (Apache- und phppgAdmin-Protokolle, wenn sie verwendet werden). Möglicherweise tritt beim Export ein Fehler auf.
Andrew M.
Ich habe es geschafft, es von der Kommandozeile zu exportieren, es muss eine Art Fehler in meinem phpPgAdmin geben, denke ich. Vielen Dank!
Probocop

Antworten:

8

Sie müssen Ihre dbexport.php in / usr / share / phppgadmin (unter Ubuntu) ändern.

Zeile ändern von passthru($cmd);, echo passthru($cmd); um Zeile $cmd = $exe . " -i";zu ändern$cmd = $exe;

es wird genug sein. Ursache Parameter -ischeint in Postgres 9.5 veraltet zu sein, er gab Fehler für mich.

Schatten
quelle
1
Es stellt sich heraus, dass die letzte Version von PhpPgAdmin aus dem Jahr 2013 stammt. Es gibt jedoch ein Repo github.com/phppgadmin/phppgadmin, in dem es noch (mehr oder weniger) verwaltet wird und das letzte Commit im Hauptzweig dieses Problem bereits behoben hat - das wie du es beschrieben hast.
Forseti
Gut zu hören, ob es noch neu ist und dieses kleine Problem gelöst hat! :) Allerdings benutze ich es jetzt nicht (habe meine eigene, in Java geschrieben)
Shadow
1

Ich habe es geschafft, es von der Kommandozeile zu exportieren, indem ich:

./pg_dump -U postgres -c -f /htdocs/databasename.sql databasename
Probocop
quelle
3
Möglicherweise möchten Sie Ihre Datenbank nicht in der Webroot ablegen, selbst wenn Sie den Namen verschleiert haben.
Dana the Sane
1

Ich hatte das gleiche Problem und überprüfte mein Protokoll:

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

phpPgAdmin verwendet die Option -d, die 2009 veraltet war. Deshalb habe ich dbexport.php bearbeitet und "-d" durch "--inserts" ersetzt. Jetzt funktioniert es einwandfrei: D!

http://archives.postgresql.org/message-id/[email protected]

Jose
quelle
In meiner phpPgAdmin-Installation hatte ich bereits eine leere Datei --insertsund -dbekam sie noch nicht .
JustAMartin
0

Wählen Sie in der Exportschnittstelle den Exporttyp "SQL", um eine leere Datei zurückzugeben. Die Auswahl von "Exporttyp" als "KOPIEREN" ist hier die richtige Wahl - es wird die Dump-SQL-Datei zurückgegeben.

Aber ich denke auch, dass phppgadmin genug nervt, um stattdessen die Kommandozeile zu verwenden. Zum Beispiel würde es fehlschlagen, aber keinen Fehler melden, wenn Sie eine SQL-Datei hochladen, die die zulässige Größe der Upload-Datei überschreitet (häufig ~ 2 MB).

Hoàng Long
quelle