Windows环境下 postgresql16 增量备份及恢复

修改postgresql.conf

isten_addresses = '*'
wal_level = replica    
archive_mode = on
archive_command = 'copy /V  "%p"  C:\\backup\\wal_files\\%f ' 注意写法,这里有大坑
restore_command = 'copy  c:\\backup\\wal_files\\%f   "%p" '    
recovery_target_time = '2021-09-03 11:26:33.258335+08' //根据恢复的时间点改写
recovery_target_inclusive = false

建立备份文件夹

D:\backup\base_files\\存放基础备份
D:\backup\wal_files\\存放wal日志

建立基础备份

pg_basebackup.exe -p 2002 -D D:\backup\base_files -Fp  -P -v  -U liurui
2002:服务端口
D:\backup\base_files:目标文件名
liurui:连接数据库用户名

在这里插入图片描述

测试代码

select current_timestamp;\\获取当前时间戳

create table test(c1 int, c2 timestamp default current_timestamp);\\创建测试表

insert into test select generate_series(1, 1000000), clock_timestamp(); //插入100万条记录

此时wal_files、pg_wal都会同时产生日志

数据恢复

停止服务器
将data改名为data_old
复制base_files到data文件处,并改名为data,设置data 的权限为 Users组完全控制。
在data中新建recovery.signal文件
postgresql.conf 中的recovery_target_time\\修改值到需要的时间
在D:\PostgreSQL\16打开cmd
pg_env.bat
cd bin
pg_ctl -D D:\PostgreSQL\16\data start \\恢复
关闭cmd
删除在data中新建recovery.signal文件
启动服务器
### 实现 Windows 环境PostgreSQL 数据库的增量备份Windows 系统上实现 PostgreSQL增量备份主要依赖于 `pg_basebackup` 和 `pg_receivewal` 工具。这两种工具提供了不同的方式来执行增量备份。 #### 使用 pg_receivewal 进行增量备份 `pg_receivewal` 是一种用于连续接收 WAL (Write-Ahead Logging) 文件并保存到指定位置的命令行工具。通过这种方式可以有效地创建增量备份,因为每次只需要复制自上次备份以来更改的数据[^1]。 ```bash "D:\PostgreSQL\pg10\bin\pg_receivewal.exe" --host=数据库IP --port=端口 --username=用户名 -D D:\wal_backup_directory --progress -v ``` 此命令会持续监听新的WAL文件并将它们存储在一个目录中(`D:\wal_backup_directory`)。当需要恢复时,可以通过配置参数指向这个包含所有必要日志条目的路径来进行时间点恢复(PITR)。 #### 设置计划任务自动完成每日增量备份 为了确保定期获取最新的变更记录,在 Windows 上可通过 Task Scheduler 创建一个定时任务来运行上述命令。这使得即使无人值守也能保持最新状态下的增量备份副本[^2]。 - 打开 "Task Scheduler" - 选择 "Create Basic Task..." - 设定触发器为每天特定时间点启动 - 动作设置为 “Start a program” - 浏览找到 `pg_receivewal.exe`, 并填入相应参数作为附加选项 这样就完成了基于 Windows 计划任务机制上的自动化增量备份流程构建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值