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文件
启动服务器
相关推荐
江湖行骗老中医3 小时前
react native在windows环境搭建并使用脚手架新建工程
windows·react native·react.js
YiHanXii5 小时前
在 Windows 系统上,将 Ubuntu 从 C 盘 迁移到 D 盘
windows·ubuntu·postgresql
怜渠客6 小时前
Microsoft Edge 企业策略禁用更新
windows·edge
怜渠客7 小时前
FireFox | Google Chrome | Microsoft Edge 禁用更新 final版
chrome·windows·edge
hunter20620611 小时前
windows修改host上github
windows·github
蔚蓝色的风暴15 小时前
pgsql中处理数组类型字段
postgresql
不是吧这都有重名18 小时前
[Datawheel]利用Zigent框架编写智能体-2
人工智能·pytorch·windows·学习·机器学习·语言模型·chatgpt
m0_7482459218 小时前
数据库之PostgreSQL详解
数据库·postgresql
weixin_4957742019 小时前
c#使用log4Net配置日志文件
开发语言·windows·c#
jcsx19 小时前
Docker Desktop 在Windows 环境中开发、测试和运行容器化的应用程序
windows·docker·容器