Ошибка при запуске резервного копирования Postgresql 9.6 (pg_dump/pg_dumpall)
У меня есть установка postgreSQL 9.6 на Ubuntu 16.04, предоставленная EnterpriseDB. Я подключался к локальному серверу и использовал его в течение нескольких месяцев. Я решил, что на этом этапе мне нужно сделать резервную копию сервера, поэтому я попытался использовать команду pg_dump следующим образом:
- перейдите на postgres bin в /opt/PostgreSQL/9.6/bin
- Запустите pg_dump через
sudo 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
но этот пакет, кажется, не существует.
Я также пытался запустить pg_dump и pg_dumpall через pgAdmin4. Сначала он заставил меня заполнить двоичные пути для двоичного пути расширенного сервера EDB и двоичного пути PostgreSQL; Я положил в opt/PostgreSQL/9.6/bin/
, где находится исполняемый файл pg_dump. Когда я попытался запустить резервное копирование, я получил ошибку: 'ascii' codec can't decode byte 0xe1 in position 1: ordinal not in range(128)
, Я нашел ответ на это в другом месте, который рекомендовал изменить client_encoding = SQLascii
в client_encoding = utf8
в postgresql.conf, но это не помогло.
Есть ли у кого-нибудь совет о том, куда идти отсюда?
1 ответ
В системе unix/linux текущий каталог .
не на PATH
и не искал двоичные файлы.
Если вы хотите запустить команду pg_basebackup
в /opt/PostgreSQL/9.6/bin/
, ты бежишь /opt/PostgreSQL/9.6/bin/pg_basebackup
,
Если вы хотите запустить команду pg_basebackup
что вы знали, что в текущем каталоге вы могли бы написать ./pg_basebackup
вместо. Но просто используя полный путь, а не cd
без необходимости лучше.