phpPgAdmin экспортирует пустой дамп SQL?

10

Я пытаюсь экспортировать базу данных PostgreSQL из phpPgAdmin и по какой-то причине выводит пустой файл SQL.

База данных определенно не пуста.

Чтобы экспортировать его, я нажимаю на базу данных, затем экспортирую, затем выбираю структуру и данные.

Есть идеи, почему это будет? Спасибо

Probocop
источник
2
Можете ли вы экспортировать ту же базу данных, используя то же имя пользователя из командной строки?
Халед
Здесь также могут быть полезны журналы (журналы Apache и phppgAdmin, если он их использует). Это может быть ошибка в экспорте.
Андрей М.
Мне удалось экспортировать его из командной строки, в моем phpPgAdmin должна быть какая-то ошибка, я думаю. Спасибо!
Пробокоп

Ответы:

8

вам нужно изменить ваш dbexport.php в / usr / share / phppgadmin (в Ubuntu)

изменить строку из, passthru($cmd);чтобы echo passthru($cmd); изменить строку $cmd = $exe . " -i";в$cmd = $exe;

этого будет достаточно. Параметр причины -i, по-видимому, устарел в Postgres 9.5, он дал мне ошибку.

Тень
источник
1
Оказывается, последний выпуск PhpPgAdmin - 2013. Однако есть репозиторий github.com/phppgadmin/phppgadmin, где он все еще поддерживается (более или менее), и последний коммит в основной ветке уже имеет эту проблему - как вы описали.
Форсети
Приятно слышать, если это все еще поддерживается и решает эту маленькую проблему! :) Однако я не использую его сейчас (есть мой, написанный на Java)
Shadow
1

Мне удалось экспортировать его из командной строки, используя:

./pg_dump -U postgres -c -f /htdocs/databasename.sql databasename
Probocop
источник
3
Вы можете не захотеть выгружать свою базу данных в webroot, даже если вы запутали имя.
Дана в здравом
1

У меня была такая же проблема и проверил мой журнал:

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

phpPgAdmin использует опцию -d, которая устарела в 2009 году, поэтому я отредактировал dbexport.php и заменил «-d» на «--inserts», теперь он работает просто отлично: D!

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

Хосе
источник
В моей установке phpPgAdmin у меня уже было --insertsи нет, -dно все еще есть пустой файл.
JustAMartin
0

В интерфейсе экспорта выберите тип экспорта «SQL» будет возвращать пустой файл. Выбор «Тип экспорта» в качестве «КОПИЯ» является правильным выбором - он возвращает файл дампа sql.

Но я также думаю, что phppgadmin отстой, чтобы мы могли вместо этого использовать командную строку. Например, произойдет сбой, но об ошибке не будет сообщено, если вы загрузите файл sql, размер которого превышает допустимый размер загружаемого файла (часто ~ 2 МБ).

Хонг Лонг
источник