那版上的Postgres恢复已经有两篇文章了,这是第三篇,数据大于天啊
原因是看到了一篇文章:
我们来复盘整个过程,同事提醒自己也要同样清醒和多留备份
一、建立**Point-in-Time Recovery (PITR)**归档
# ps axjf的结果中,看到配置文件是 /etc/postgresql/13/main/postgresql.conf
# 那就修改这个配置文件
# 修改以下2行
# 启用归档
archive_mode = on
# WAL 日志归档路径
archive_command = 'cp %p /path_to_archive_directory/%f'
# 然后重启服务生效
systemctl restart postgresql
二、建立每6小时的full backup
# Cron job running every 6 hours
pg_dump production_db | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
三、恢复full backup
# Create new database
createdb production_db
# Restore from backup
gunzip < backup_20240126_160000.sql.gz | psql production_db
四、恢复WAL log归档备份
# Restore WAL logs from 4 PM to 5 PM
recovery_target_time = '2024-01-26 17:00:00'