1.開啓歸檔:(postgresql.conf)
archive_mode = on
archive_command = 'test ! -f /data/pgdata/archivedir/%f && cp %p /data/pgdata/archivedir/%f'
archive_timeout = 60s
2. 首先postgres 用戶下基礎備份:
pg_basebackup -h 2.8.0.9 -Ft -Pv -Xf -z -Z5 -p5432 -D /data/pgdata/pgback
3.關閉數據庫,然後清空data目錄下所有文件(當然正式庫可以先備份下所有文件再刪除)
4.時間點恢復步驟:
1)拷貝基礎備份到data目錄下,然後解壓縮
cp /data/pgdata/pgback/* /data/pgdata/data/
tar -zxvf base.tar.gz
2) 在data目錄下創建一個空文件:
touch recovery.signal
3)修改 postgresq.conf 文件:
把以下:
archive_mode = on
archive_command = 'test ! -f /data/pgdata/archivedir/%f && cp %p /data/pgdata/archivedir/%f'
archive_timeout = 60s 全部註釋掉##
增加 兩行:
restore_command = 'cp /data/pgdata/archivedir/%f %p'
recovery_target_time = '2020-03-04 16:45:44.823462+08'
附上我的配置文件: