Ubuntu下使用Dbeaver备份数据库。

73

我已经安装了 Dbeaver 并且可以连接远程服务器上的 PostgreSQL 数据库。
我想将这个数据库导出到我的本地电脑,但是当我进入 工具 -> 备份数据库 时出现了一个错误。

未指定连接的客户端目录

我应该在哪里指定并输入什么内容呢?在文档中找不到有关此错误的任何信息。


1
我投票关闭此问题,因为它与编程无关;这可能适合数据库管理员 - Paul Roub
7个回答

59
我使用的是Windows 7,所以可能不同,但值得一试。首先,您必须安装本地postgresql服务器。这样做后,非常简单,只需右键单击您的PostgreSQL连接,然后单击“编辑连接”。在这里,您可以选择本地客户端。 我必须承认,我自己寻找了很长时间。希望它有所帮助。 这是我的第一篇帖子,如果做错了什么,请见谅。
服务器连接屏幕截图: Screenshot Server Connection 编辑设置屏幕截图: Screenshot Edit Settings

29
对我来说,在本地客户端,"/usr/bin/" 运行良好。Ubuntu 16.04。 - Ayyappa amara
3
在 macOS 上,我遇到了很多问题! 我通过 homebrew 安装了 mysql,但是我不知道应该将哪个文件夹设置为客户端主目录。 最终,以下位置适用于我: /usr/local/opt/mysql - razvang
如何获取本地的PostgreSQL? - Luffydude
在 macOS 中,我发现它位于 /usr/local 目录下,我的安装是使用 Postgres.app 完成的。 - OJVM
3
本地客户端:“/usr/bin/”适用于Ubuntu 19.04和mysql版本8.0。 - Rohit Parte

22

我在使用Ubuntu Linux时找到了这个解决方案:

以root身份运行以下命令,查找pg_dump

find / -name "pg_dump"

在我的情况下,相关结果是/usr/lib/postgresql/12/bin/pg_dump

接着,在“连接设置”中,如其他答案所述,单击“浏览”,然后浏览到/usr/lib/postgresql/12/bin/pg_dump或前一步骤得出的位置。


1
这也是我的确切问题。在运行Ubuntu 20.4和Postres 12时。 - Tanner
1
如果Postgres在Docker容器中怎么办?很抱歉这么晚了。希望有人能帮忙。谢谢。 - Jacky Supit
1
@JackySupit,没错,我实际上正在使用一个Docker容器。 - Emeeus
如果您只通过执行 sudo apt install dbeaver-ce 下载,您将无法设置此路径(dbeaver 将无法获得对任何 bin 目录的写访问权限)。因此,请按照此处给出的说明 https://dbeaver.io/download/ 正确操作,然后您就可以按照上面的答案进行操作了。 - Deepam Gupta

19

针对MAC的解答

我遇到了相同的问题。基本上,DBeaver需要知道postgresql二进制文件的位置。它包含类似于pg_dump的内容,备份工具依赖该内容。如果您没有安装PostgreSQL,则建议通过postgresapp.com进行安装。

截至此评论时,版本11的lib安装位置在此处:/Applications/Postgres.app/contents/versions/11/bin

使用brew安装的版本位于/usr/local/bin/postgres

因此,在DBeaver中,您需要编辑数据库连接属性,以反映以下屏幕截图。您将被提示重新连接到您的数据库,但之后您应该就可以顺利进行了。

希望这可以帮助您。

输入图片描述


这种方式也可以工作,所以你可以使用“/usr/bin/”目录或者这个。我不知道是否有区别。 - OJVM
另一种 macOS 特定的解决方案: 您也可以使用 Homebrew 安装 libpq。brew install libpq 这将为您提供 psql、pg_dump 和许多其他客户端实用程序,而无需安装 Postgres。如果使用 zsh: echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc source ~/.zshrc如果使用 bash: echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile - iceberg

14

Linux专用答案

  • 本地安装PostgreSQL客户端。
  • 打开终端并键入which pg_dump,它会返回类似于/usr/bin/pg_dump的内容。
  • 在本地客户端设置中选择浏览并添加上一步骤中的文件夹。在我的情况下,是/usr/bin/。等待几秒钟,它将检测到驱动程序。

1
如果找不到pg_dump,则可能需要执行sudo apt install postgresql-client-common,默认客户端则需要执行sudo apt-get install postgresql-client - Henshal B

3

对于Mac用户,右键单击您的连接 -> "编辑连接"。 (见图像) 1

对于本地客户端,请点击浏览 (见下图) 2

要查看隐藏文件和文件夹,请按"cmd + shift + ."。现在您可以浏览到PG bin文件夹。路径将添加到本地客户端。 添加后,选择该路径,您将看到id、路径和名称将被填充 (见图像) 3


2
在Mac OS上使用Enterprise DB安装程序安装了Postgres SQL,pg_restore将位于/Library/PostgreSQL/10/bin位置。在DBeaver中选择此位置即可。

screenshot for reference

我成功地尝试过了。请注意保留HTML标记。

0
在Ubuntu 20.04中,在连接设置->主要选项卡中,将本地客户端值添加为'/user'。

5
请在您的答案中提供更多细节。目前的写法很难理解您的解决方案。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接