0

我在 EnterpriseDB 提供的 Ubuntu 16.04 上安装了 postgreSQL 9.6。我已经连接到本地服务器并使用了几个月。我想我现在应该备份服务器,所以我尝试使用 pg_dump 命令,如下所示:

  1. cd 到 /opt/PostgreSQL/9.6/bin 的 postgres bin
  2. 通过运行 pg_dumpsudo pg_dumpall > /sata_ssd2/pgdump/0419.bkp

这给出了一个错误:Error: You must install at least one postgresql-client-<version> package.我尝试通过安装:sudo apt-get install postgresql-client-9.6但该软件包似乎不存在。

我还尝试通过 pgAdmin4 运行 pg_dump 和 pg_dumpall。它首先让我填写了 EDB Advanced Server Binary Path 和 PostgreSQL Binary Path 的二进制路径;我输入 opt/PostgreSQL/9.6/bin/了 pg_dump 可执行文件所在的位置。当我尝试运行备份时,出现错误:'ascii' codec can't decode byte 0xe1 in position 1: ordinal not in range(128). 我在其他地方找到了一个答案,建议在 postgresql.conf 中更改 from client_encoding = SQLasciiclient_encoding = utf8但这没有帮助。

有人对从这里去哪里有任何建议吗?

4

1 回答 1

0

在 unix/linux 系统中,当前目录.不在PATH并且不搜索二进制文件。

如果要在 中运行命令pg_basebackup/opt/PostgreSQL/9.6/bin/请运行/opt/PostgreSQL/9.6/bin/pg_basebackup.

如果你确实想运行pg_basebackup你知道在当前目录中的命令,你可以改写./pg_basebackup。但是只使用完整路径而不是cd不必要的 ing 会更好。

于 2017-04-20T03:27:54.710 回答