043.PGSQL-备份和恢复-重做WAL日志-恢复到最近时间点

 

 

修改配置文件 postgresql.conf


[root@s101 /var/lib/pgsql/13/data]#nano postgresql.conf

archive_command ='test ! -f /var/lib/pgsql/13/archive_wals/%f && cp %p /var/lib/pgsql/13/archive_wals/%f'
restore_command = 'cp /var/lib/pgsql/13/archive_wals/%f %p'
recovery_target_timeline = 'latest'

 

重启数据库

[root@s101 /var/lib/pgsql/13/data]#sudo systemctl restart postgresql-13

 

插入条数据

insert into "myschema"."o_ls_test"(
rid
,name
)
select n ,n || 'EEE' || n
from
generate_series(1,3) n ;

 

手动进行一次wal切换

select pg_switch_wal();

创建基础备份

/usr/pgsql-13/bin/pg_basebackup   -D /var/lib/pgsql/13/backups  -Ft  -Pv  -Xf  -z  -Z5  -h 192.168.17.101 -U postgres  -p 5432

插入条数据

insert into "myschema"."o_ls_test"(
rid
,name
)
select n ,n || 'new' || n
from
generate_series(1,3) n ;

 

手动进行一次wal切换

select pg_switch_wal();

 

关闭数据库

[root@s101 /var/lib/pgsql/13/data]#sudo systemctl stop postgresql-13

将data目录备份

[root@s101 /var/lib/pgsql/13]#mv data dataold

创建data目录

[postgres@s101 /var/lib/pgsql/13]$mkdir data

给文件权限

[root@s101 /var/lib/pgsql/13]#chmod 700 data

解压基础备份到data目录

[postgres@s101 /var/lib/pgsql/13]$tar -xvf /var/lib/pgsql/13/backups/base.tar.gz -C /var/lib/pgsql/13/data

data目录中创建 recovery.signal

[postgres@s101 /var/lib/pgsql/13/data]$ touch recovery.signal

 

重启数据库

[root@s101 /var/lib/pgsql/13/data]#sudo systemctl restart postgresql-13

查看数据库状态

[root@s101 /var/lib/pgsql/13]#systemctl status postgresql-13

 

查看基础备份后的数据是否已经恢复

mydb@[local]:5432=#select * from mydb.myschema.o_ls_test;
rid | name | timeflag
-----+-------+----------------------------
1 | 1EEE1 | 2021-07-29 19:28:30.102212
2 | 2EEE2 | 2021-07-29 19:28:30.102603
3 | 3EEE3 | 2021-07-29 19:28:30.10261
1 | 1new1 | 2021-07-29 20:13:35.989382
2 | 2new2 | 2021-07-29 20:13:35.98944
3 | 3new3 | 2021-07-29 20:13:35.989449
(6 rows)

 

posted @   star521  阅读(487)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2020-07-29 001.python-基础-Template的字符串格式化
点击右上角即可分享
微信分享提示