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文件
启动服务器
相关推荐
qq_6536444618 分钟前
如何查看打开的 git bash 窗口是否是管理员权限打开
开发语言·windows·git·bash
云途行者5 小时前
windows、Ubuntu、Debian 添加静态路由
linux·windows·ubuntu
敲代码的瓦龙7 小时前
STL?list!!!
c语言·开发语言·数据结构·c++·windows·list
一枚小菜程序员7 小时前
记录: Windows下远程Liunx 系统xrdp 用到的一些小问题(免费踩坑 记录)
windows
tyn18814 小时前
记录一次conda虚拟环境pip安装报错[WinError 32] 另一个程序正在使用此文件,进程无法访问
windows·conda·pip·虚拟环境·虚环境
檀越剑指大厂21 小时前
【PostgreSQL系列】PostgreSQL性能优化
数据库·postgresql·性能优化
陈苏同学1 天前
[已解决] VS Code / Cursor / Trae 的 PowerShell 终端 conda activate 进不去环境的常见问题
linux·windows·conda
辰%1 天前
如何重启pycharm中的项目?
windows·python·pycharm
iangyu1 天前
【windows server脚本每天从网络盘复制到本地】
开发语言·windows·php
love530love1 天前
家用或办公 Windows 电脑玩人工智能开源项目配备核显的必要性(含 NPU 及显卡类型补充)
人工智能·windows·python·开源·电脑