phpPgAdmin eksportuje pusty zrzut SQL?

10

Próbuję wyeksportować bazę danych PostgreSQL z phpPgAdmin iz jakiegoś powodu wysypuje pusty plik SQL.

Baza danych zdecydowanie nie jest pusta.

Aby go wyeksportować, klikam bazę danych, następnie eksportuję, a następnie wybieram strukturę i dane.

Wiesz, dlaczego to miałoby być? Dzięki

Probocop
źródło
2
Czy możesz wyeksportować tę samą bazę danych, używając tej samej nazwy użytkownika z wiersza poleceń?
Khaled
Istotne byłyby również logi (Apache i logi phppgAdmin, jeśli je wykorzystują). Być może podczas eksportowania wystąpił błąd.
Andrew M.,
Udało mi się wyeksportować go z wiersza poleceń, myślę, że musi być jakiś błąd w moim phpPgAdmin. Dzięki!
Probocop,

Odpowiedzi:

8

musisz zmodyfikować plik dbexport.php w katalogu / usr / share / phppgadmin (w systemie Ubuntu)

zmodyfikuj linię z, passthru($cmd);aby echo passthru($cmd); zmodyfikować linię $cmd = $exe . " -i";do$cmd = $exe;

to wystarczy. Ponieważ parametr -iwydaje się być przestarzały w Postgresie 9.5, dał mi błąd.

Cień
źródło
1
Okazuje się, że ostatnia wersja PhpPgAdmin pochodzi z 2013 roku. Istnieje jednak repo github.com/phppgadmin/phppgadmin, w którym jest nadal utrzymywane (mniej więcej), a ostatnie zatwierdzenie w gałęzi master już rozwiązało ten problem - tak jak opisałeś.
Forseti,
Dobrze usłyszeć, czy nadal jest to bite i rozwiązało ten mały problem! :) Jednak nie używam go teraz (mam własne, napisane w języku Java)
Shadow
1

Udało mi się wyeksportować go z wiersza polecenia, używając:

./pg_dump -U postgres -c -f /htdocs/databasename.sql databasename
Probocop
źródło
3
Możesz nie chcieć zrzucić db do katalogu głównego, nawet jeśli nazwa jest zaciemniona.
Dana the Sane
1

Miałem ten sam problem i sprawdziłem mój dziennik:

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

phpPgAdmin używa opcji -d, która była przestarzała w 2009 roku, więc edytowałem dbexport.php i zamieniłem „-d” na „--inserts”, teraz działa dobrze: D!

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

Jose
źródło
W mojej instalacji phpPgAdmin miałem już, ale --insertsnie -dmam, ale nadal mam pusty plik.
JustAMartin
0

W interfejsie eksportu wybierz typ eksportu „SQL” zwróci pusty plik. Wybór „typu eksportu” jako „KOPIUJ” jest tutaj dobrym wyborem - zwraca plik zrzutu SQL.

Ale myślę też, że phppgadmin jest do bani na tyle, że zamiast tego możemy użyć wiersza poleceń. Na przykład nie powiedzie się, ale nie zgłosi błędu, jeśli prześlesz plik SQL przekraczający dozwolony rozmiar pliku do przesłania (często ~ 2 MB).

Hoàng Long
źródło