我使用调酒师(http://www.pgbarman.org/),用于在我的 Linux Redhat 机器上进行备份和恢复
恢复后,我们启动postgresql如下
systemctl start postgresql.service
但是postgresql无法启动
来自日志:
/var/lib/pgsql/backups/data/pg_log
我们看到以下错误
requested recovery stop point is before consistent recovery point
请指教这个致命错误的含义是什么?
more pg_log
LOG: database system was interrupted; last known up at 2017-08-06 07:30:49 UTC
LOG: restored log file "00000008.history" from archive
LOG: starting point-in-time recovery to 2017-08-06 07:30:49.813508+00
LOG: restored log file "0000000800000000000000C1" from archive
LOG: redo starts at 0/C1000080
LOG: recovery stopping before commit of transaction 96139, time 2017-08-06 07:30:49.855629+00
LOG: redo done at 0/C1001B90
FATAL: requested recovery stop point is before consistent recovery point
LOG: startup process (PID 55858) exited with exit code 1
LOG: terminating any other active server processes
例如-当我启动postgres服务时:
systemctl start postgresql.service
Job for postgresql.service failed because the control process exited with
error code. See "systemctl status postgresql.service" and "journalctl -xe"
for details.
ls
backup_label.old pg_hba.conf pg_hba.conf.2017-08-
03_13:08 pg_snapshots pg_xlog
postgresql.conf.2017-08-03_13:03
barman_xlog pg_hba.conf.2017-08-03_12:07 pg_ident.conf
pg_stat_tmp postgresql.conf postgresql.conf.2017-08-
03_13:08
base pg_hba.conf.2017-08-03_12:22 pg_log
pg_subtrans postgresql.conf.2017-08-03_12:07 postgresql.conf.origin
global pg_hba.conf.2017-08-03_12:24 pg_multixact
pg_tblspc postgresql.conf.2017-08-03_12:22 postmaster.opts
pg_clog pg_hba.conf.2017-08-03_12:28 pg_notify
pg_twophase postgresql.conf.2017-08-03_12:24 recovery.done
pg_hba_bak.conf.old pg_hba.conf.2017-08-03_13:03 pg_serial
PG_VERSION postgresql.conf.2017-08-03_12:28
答案1
recover.conf
恢复后您忘记删除该文件。
此文件仅 PiTR 需要,正常 DB 操作不需要。解决方案是直接删除它。