pg 的datafile 如果损坏了.
那么没有损坏的页面的行记录如何取出来.
方案有很多了, 比如用基于PTTR 的恢复正个数据库.
之前也写过一个 根据ctid 的方法.
下面说另一个方法:
pg 数据库有俩参数的:
zero_damaged_pages ( boolean ).
这个参数默认是off 的. 需要管理员权限才能设置这个参数.
把这个参数设置为on, 在当前session 里, 就不会在校验损坏的数据块. 就可以直接把没有损坏的数据记录读出来.
这应该是一个更好的不完全恢复的方案了.
ignore_checksum_failure ( boolean ).
这个参数在9.5 以后才出现. 并且只有在设置了 data checksums 之后才会起作用.
设置了这个参数后, 那么就不会对数据块做校验. 当前的事务可以继续执行, 会报warrning 但是不会退出.
这是个危险的参数.
另外说明一下, 这个俩参数是开发参数.
一般情况下是默认off 的. .
那么没有损坏的页面的行记录如何取出来.
方案有很多了, 比如用基于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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/133735/viewspace-2150520/