Получение ошибки при создании резервной копии с помощью утилиты pg_basebackup - PullRequest
0 голосов
/ 28 августа 2018

Мы используем следующую команду для создания резервной копии базы данных.

$PGHOME/bin/pg_basebackup -p 5433 -U postgres -P -v -x --format=tar --gzip --compress=1 --pgdata=- -D /opt/rao    

При получении резервной копии мы получили ниже ошибку.

​transaction log start point: 285/8F000080
pg_basebackup: could not get transaction log end position from server: FATAL:  requested WAL segment 00000001000002850000008F has already been removed​

Пожалуйста, объясните мне, почему и как справиться с этой ошибкой. Вы хотите, чтобы я изменил любой параметр в моей команде pg_basebackup, дайте мне знать.

Пожалуйста, объясните мне, что это значит --pgdata=--D в моей вышеупомянутой команде pg_basebackup.

1 Ответ

0 голосов
/ 28 августа 2018
-D directory
--pgdata=directory

Указывает каталог для записи вывода. Когда резервная копия находится в режиме tar и каталог указан как - (тире), файл tar будет записан в стандартный вывод. Этот параметр обязателен.

FATAL:  requested WAL segment 00000001000002850000008F has already been removed

означает, что мастер не сохранил достаточно истории, чтобы восстановить резервный режим до даты.

Вы можете использовать pg_basebackup для создания нового ведомого:

pg_basebackup -h masterhost -U postgres -D path --progress --verbose -c fast

При наличии архива WAL вы можете попробовать команду restore_command. Pg_basebackup создает полностью нового ведомого в пустой директории.

...