尝试在pgAdmin4中备份数据库时,“[Errno 2]没有这样的文件或目录”

时间:2016-09-30 16:40:16

标签: pgadmin-4

我终于设法在首选项中手动设置“PostgreSQL二进制路径”(为什么用户必须在pgAdmin3中没有必要时执行此操作?)。

虽然说实话,但我不知道第二个路径字段“EDB Advanced Server Binary Path”是什么意思。但我没有得到关于这个的错误信息,所以我认为它是o.k.把它留空。

现在我陷入了下一步。

尝试备份数据库时,我必须输入文件名。无论我在这里做什么,我都会收到这个错误:

[Errno 2] No such file or directory

好吧,我不得不在之前创建一个文件由pgAdmin创建,可以吗?

我可能做错了什么?

亚历

更新:在这里回答@ n33rma是打印屏幕:

path setting with corrected path backup setting backup failing

6 个答案:

答案 0 :(得分:3)

我刚刚更新到pgAdmin v4.1,这解决了问题:-) 谢谢大家的帮助!

答案 1 :(得分:2)

我通过命令行解决了这个问题。

如果我们使用以前的格式,它会有与您相同的响应:

$ pg_restore -d <DBNAME> --username=postgres g=<FILENAME> 
pg_restore: [archiver] could not open input file "g=<FILENAME>": No such file or directory

如果我们更改最后一个参数,它可以正常工作:

$ pg_restore -d <DBNAME> --username=postgres <FILENAME>

我认为GUI命令在v4中已更改,但控制台pg_restore未更改。

答案 2 :(得分:0)

只输入文件名,没有路径,因为pgadmin将备份放在自己的目录中,具体地说,放在〜/ .pgadmin / storage /(user)中。

答案 3 :(得分:0)

我怀疑pgAdmin4中没有正确设置“PostgreSQL二进制路径”的路径。

pgAdmin4是Web应用程序,pgAdmin3是桌面应用程序,因此pgAdmin4需要知道pg_dump和&amp; pg_restore二进制文件,以便它可以执行它们。

在pgAdmin4转到:File > Preferences > Paths > Binary paths > PostgreSQL Binary Path

如果您使用Windows而不是提供路径, C:\ Program Files \ PostgreSQL \ 9.6 \ bin

如果您使用Linux而不是提供路径, 的 /opt/PostgreSQL/9.5/bin

user@mint:/opt/PostgreSQL/9.5/bin$ lsh pg_du* pg_res*
-rwxr-xr-x 1 xxx xxx 150K Sep  2  2015 pg_restore
-rwxr-xr-x 1 xxx xxx  49K Sep  2  2015 pg_resetxlog
-rwxr-xr-x 1 xxx xxx  83K Sep  2  2015 pg_dumpall
-rwxr-xr-x 1 xxx xxx 364K Sep  2  2015 pg_dump

答案 4 :(得分:0)

您需要将文件名的绝对路径提供给sql文件,如下所示。

C:/test/test.sql

Linux的

/u01/test.sql

答案 5 :(得分:-1)

在MacOS 10.11上并使用postgres.app我这样解决了:

enter image description here