4

我终于设法绕过管理在首选项中手动设置“PostgreSQL 二进制路径”(为什么用户必须在 pgAdmin3 中不需要时这样做?)。

虽然老实说,我不知道名为“EDB Advanced Server Binary Path”的第二个路径字段是什么意思。但是我没有收到更多关于此的错误消息,所以我认为可以将其留空。

现在我被困在下一步了。

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

[Errno 2] No such file or directory

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

我可能做错了什么?

亚历克斯


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

具有更正路径的路径设置 备份设置 备份失败

4

6 回答 6

3

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

于 2016-10-28T15:26:19.943 回答
3

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

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

$ 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 没有。

于 2016-10-19T14:09:46.077 回答
1

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

视窗

C:/test/test.sql

Linux

/u01/test.sql

于 2017-02-09T05:50:16.170 回答
0

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

pgAdmin4 是 Web 应用程序,而 pgAdmin3 是桌面应用程序,所以 pgAdmin4 需要知道像pg_dump&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
于 2016-10-05T09:14:14.397 回答
0

只输入文件名,不输入路径,因为 pgadmin 将备份放在它自己的目录中,特别是在 ~/.pgadmin/storage/(user) 中。

于 2016-10-01T03:13:58.907 回答
-1

在 MacOS 10.11 上并使用 postgres.app 我以这种方式解决了它:

在此处输入图像描述

于 2016-10-10T04:53:38.023 回答