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

修改postgresql.conf

xml 复制代码
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

建立备份文件夹

xml 复制代码
D:\backup\base_files\\存放基础备份
D:\backup\wal_files\\存放wal日志

建立基础备份

xml 复制代码
pg_basebackup.exe -p 2002 -D D:\backup\base_files -Fp  -P -v  -U liurui

测试代码

xml 复制代码
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都会同时产生日志

数据恢复

xml 复制代码
停止服务器
将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文件
启动服务器
相关推荐
深耕AI1 天前
【CUDA安装报错?】Nsight Visual Studio Edition安装失败《终极解决方法》
windows·经验分享·gpu算力
总有刁民想爱朕ha1 天前
Windows Server 2019部署MySQL 8教程
数据库·windows·mysql
l1t1 天前
解决PostgreSQL中找不到uniq函数的错误
数据库·postgresql
卡布叻_星星1 天前
Docker之Windows与Linux不同架构部署理解
linux·windows·docker
谷新龙0011 天前
pg_clickhouse插件,在postgresql中借助clickhouse借用OLAP能力
数据库·clickhouse·postgresql
米花町的小侦探1 天前
WSL创建pgsql容器脚本
docker·postgresql
木卫二号Coding1 天前
POSTGRESQL+数据库备份与还原
数据库·postgresql·oracle
梓仁沐白1 天前
CSAPP-Archlab
数据库·windows
5335ld1 天前
uniapp-APP端table列表左侧第一列固定、头部固定
windows·uni-app
Zhou-XueLin1 天前
虚拟环境(云主机)下使用多显示器环境连接RDP远程桌面提示协议错误0x112f需禁用WDDM驱动
windows·云计算