pg基于时间点的恢复(PITR)

本文介绍了如何在PostgreSQL 9.6中进行基于时间点的恢复(PITR)。首先展示了数据库的wal_level设置为replica,archive_mode开启,并配置了archive_command。接着,通过普通用户和超级用户的操作,创建了一个名为'test'的表并插入数据,进行了pg_start_backup和pg_stop_backup操作,并将WAL日志归档。然后停止数据库,恢复到特定时间点(2017-02-08 17:30:00+08),通过修改recovery.conf配置文件,启动数据库,最终成功恢复到指定状态,此时表'test'中仅包含初始插入的数据。
摘要由CSDN通过智能技术生成
[postgres9.6@db ~]$ psql postgres postgres9.6
Null display is "NULL".
Pager is always used.
Timing is on.
psql (9.6.1)
Type "help" for help.

postgres9.6@[local]:5432 postgres# show wal_level;
 wal_level 
-----------
 replica
(1 row)

Time: 0.270 ms
postgres9.6@[local]:5432 postgres# show archive_mode;
 archive_mode 
--------------
 on
(1 row)

Time: 0.214 ms
postgres9.6@[local]:5432 postgres# show archive_command ;
                                            archive_command                                             
--------------------------------------------------------------------------------------------------------
 DATE=`date +%Y%m%d`;DIR="/home/postgres9.6/arch/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f
(1 row)


Time: 0.188 ms


postgres9.6@[local]:5432 postgres# select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit
(1 row)


Time: 2.709 ms


postgres9.6@[local]:5432 p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是一个开源的关系型数据库管理系统,它提供了基于时间恢复(Point-in-Time Recovery,简称PITR)的功能。 基于时间恢复是指在数据库发生故障或数据丢失的情况下,能够恢复到一个指定的时间之前的数据库状态。这种恢复方法特别适用于意外删除数据、误操作或数据库崩溃等情况。 PostgreSQL实现基于时间恢复的方式是通过使用事务日志(transaction logs)来记录数据库变更。事务日志包含了数据库的每一个更改操作,包括插入、更新和删除等操作。 当需要进行恢复操作时,首先需要使用pg_start_backup()函数创建一个基于时间恢复的起始,然后将数据库中的事务日志归档。通过这个归档的事务日志,可以将数据恢复到指定时间之前的状态。 具体的恢复操作包括以下步骤: 1. 关闭数据库并创建恢复配置文件,指定恢复的目标时间。 2. 恢复配置文件中指定的时间的事务日志会被用来还原数据库。 3. 将数据恢复为指定时间之前的状态,包括删除恢复之后的事务日志。 4. 打开数据库,使其可以重新对外提供服务。 值得注意的是,基于时间恢复功能需要提前进行规划和配置。首先需要定期备份数据库并保留足够长的时间,以便在需要时可以进行恢复。其次,需要开启事务日志归档功能,确保数据库的事务日志可以被正确地保留和使用。 总结来说,PostgreSQL提供了基于时间恢复的功能,它通过记录数据库的事务日志来实现。使用这个功能可以在数据库故障或数据丢失的情况下,恢复到指定的时间之前的数据库状态。但是使用前需要进行规划和配置,包括定期备份数据库和开启事务日志归档功能等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值