Ошибка при бекапе на реплике.
pg_probackup-14 2.5.15 (PostgreSQL 14.11)
Архивация на строена на реплике. Бекап с реплики
pg_probackup backup
-b FULL
--instance $instance_name
--threads 4
--delete-expired
Ошибка в логе бекапа:
INFO: Failed to find Recovery Time in WAL, forced to trust current_timestamp
если я делаю бекап с резервного сервера, то параметр --pghost должен указывать на праймари, или на реплику?
Ошибка в логе бекапа:
Это не ошибка, там же написано: INFO. Ошибка это ERROR, на худой конец WARNING. После завершения бекапа pg_probackup просматривает WAL от backup_stop LSN до backup_start LSN (в обратном порядке) в попытках найти хотя бы одну запись WAL, содержащую метку времени. Видимо, в базе нет транзакций пишущих за время снятие бекапа. Поэтому pg_probackup берет текущее время и записывает его как Recovery Time. В целом, это влияет только на восстановление на момент времени (PITR). Если вы не пользуетесь этим функционалом - можно не обращать внимание.
--pghost должен указывать на праймари, или на реплику?
Должен указывать на тот сервер, с которого хотите копировать файлы. В вашем случае - реплика.
Пробекап запрашивает различные параметры с сервера. В том числе вызывается SELECT pg_catalog.pg_is_in_recovery(), чтобы понять откуда тянем данные: мастер или реплика.
Так же, обращаю внимание, что 2.5 не умеет ругаться на несовпадение порта. Если на сервере находится несколько кластеров на разных портах - обязательно указывайте корректный --pgport, соответствующий PGDATA. Иначе команды pg_start/stop_backup() уйдут не на тот сервер и бекап будет битый с большой долей вероятности.