dg修改归档目录 oracle_PG之使用pg_resetxlog访问被修改数据

作为pg的初学者,遇到一个问题,在oracle中delete数据时,可以通过rollback命令来还原数据,而在pg中delete数据时,它会自动提交,那我们如何找回被修改的数据呢?

基于初学者的热情,立马在网上搜索了一番,类似oracle,pg也有一套自己独有的日志系统xlog,相当于oracle的redo。Pg可以通过pg_resetxlog命令来重置事务id,回到修改数据时的那个事务id,那么问题来了,我们怎样找到修改数据时的那个事务id呢?

又立马在网上遨游了一番,发现了一个好东西pageinspect,这是一个pgsql的extension模块,这个模块可以查看数据库底层page的内容,进而可以找到修改数据那个时刻的事务id。

下面我们看下postgres数据库里的xlog系统是怎样的?

[ PostgreSQL XLOG概念 ]

在10之前,postgresql的日志系统是XLOG,在之后的版本是WAL。什么是WAL(write-ahead-logging)呢?

顾名思义,就是写在前面的日志,就是事务和数据故障的一个保护,防止出现故障而导致数据丢失。任何修改数据库数据的操作都会自动生成一条记录,并将其记录到日志文件中。这里的日志就是xlog,所有的日志都会写在$PGDATA/pg_xlog目录下面。

和oracle一样,postgresql数据库也会发生日志切换。首先&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值