phpPgAdmin导出空的SQL转储?


10

我正在尝试从phpPgAdmin导出PostgreSQL数据库,由于某种原因,它正在转储空的SQL文件。

该数据库绝对不是空的。

要导出它,我单击数据库,然后导出,然后选择结构和数据。

知道为什么会这样吗?谢谢


2
您可以从命令行使用相同的用户名导出相同的数据库吗?
哈立德

日志在这里也很重要(Apache和phppgAdmin日志是否使用它们)。可能是导出错误。
Andrew M.

我设法从命令行将其导出,我认为phpPgAdmin中肯定存在某种错误。谢谢!
Probocop

Answers:


8

您需要在/ usr / share / phppgadmin(在Ubuntu上)中修改dbexport.php

修改行从passthru($cmd);echo passthru($cmd); 修改行$cmd = $exe . " -i";$cmd = $exe;

就足够了。原因参数-i在postgres 9.5中似乎已被弃用,他为我提供了错误。


1
原来,PhpPgAdmin的最新版本是2013年。但是,有一个仓库github.com/phppgadmin/phppgadmin仍在维护(或多或少),并且master分支中的最后一次提交已解决了此问题-您描述的方式。
Forseti

很高兴得知它是否仍然存在并解决了这个小问题!:)但是我现在不使用它(有我自己的,用Java编写)
Shadow

1

我设法使用以下命令从命令行导出它:

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

3
即使您混淆了名称,也可能不想将数据库转储到webroot中。
Dana the Sane

1

我遇到了同样的问题,并检查了我的日志:

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

phpPgAdmin使用选项-d,到2009年已弃用,因此我编辑了dbexport.php,并用“ --inserts”替换了“ -d”,现在它可以正常使用了:D!

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


在我的phpPgAdmin安装中,我已经拥有但--inserts没有,-d但是仍然得到一个空文件。
JustAMartin '16

0

在导出界面中,选择导出类型“ SQL”将返回一个空文件。在这里将“导出类型”选择为“复制”是正确的选择-它会返回转储sql文件。

但是我也认为phppgadmin足以让我们使用命令行代替。例如,如果您上传的SQL文件超出了允许的上传文件大小(通常〜2MB),它将失败,但不会报告任何错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.