我终于设法在首选项中手动设置“PostgreSQL二进制路径”(为什么用户必须在pgAdmin3中没有必要时执行此操作?)。
虽然说实话,但我不知道第二个路径字段“EDB Advanced Server Binary Path”是什么意思。但我没有得到关于这个的错误信息,所以我认为它是o.k.把它留空。
现在我陷入了下一步。
尝试备份数据库时,我必须输入文件名。无论我在这里做什么,我都会收到这个错误:
[Errno 2] No such file or directory
好吧,我不得不在之前创建一个文件由pgAdmin创建,可以吗?
我可能做错了什么?
亚历
更新:在这里回答@ n33rma是打印屏幕:
答案 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)