ITPub博客

PG 数据库文件损坏的另一个不完全恢复方案.

原创 数据库开发技术 作者:babyyellow 时间:2018-01-25 14:21:17 0 删除 编辑
pg 的datafile   如果损坏了. 
那么没有损坏的页面的行记录如何取出来. 

方案有很多了,  比如用基于PTTR 的恢复正个数据库. 

之前也写过一个 根据ctid 的方法.  

下面说另一个方法: 

pg 数据库有俩参数的: 

zero_damaged_pages (boolean).


这个参数默认是off 的. 需要管理员权限才能设置这个参数. 


把这个参数设置为on,  在当前session 里,  就不会在校验损坏的数据块.  就可以直接把没有损坏的数据记录读出来. 


这应该是一个更好的不完全恢复的方案了. 


ignore_checksum_failure (boolean). 


这个参数在9.5 以后才出现. 并且只有在设置了data checksums  之后才会起作用. 


设置了这个参数后, 那么就不会对数据块做校验.  当前的事务可以继续执行, 会报warrning  但是不会退出. 


这是个危险的参数. 




另外说明一下, 这个俩参数是开发参数.  


一般情况下是默认off 的.  .







来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-2150520/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle mysql PG 数据库管理员。 15年专职dba 经验。 爱好广泛, 瞎折腾爱好者。 禅修实证者。 禅修辅导员, 心理卫生免费创可贴。 免费心理咨询。 专治 程序猿 颈椎病, 腰椎病。

注册时间:2010-12-02

  • 博文量
    227
  • 访问量
    1406602