作者将自己diy的pg轻量级周边工具,融合到本项目中,目前有:
当前可选的pg恢复工具(PITR、pg_rman)都需要一个基础备份。备份原理就是以基础备份为base,通过重演wal日志使数据库达到一个用户满意 的状态。如果没有基础备份,那么数据库一旦有页损坏,那么这个页的数据会恢复困难。blockrecover工具不需要一个基础备份,只需要扫描wal日志就可 以完成坏块的恢复(在给出的wal日志中至少有一个对于修复页的full page write)。
本次更新:blockrecover工具可以依托pg_basebackup生成的基础备份完成坏块修复(添加-r参数)
wal日志是pg重要的日志。数据库DBA难以通过工具查询出wal记录的内容。
现在考虑依托当前的系统表文件,对每一条wal日志进行解析
数据库在经过长时间的运行之后,有效数据不规则的分散在数据文件的各个地方。如何能得知每个page,每个segment到底存储了多少数据呢? 作者DIY了这个功能'datadis'到pg_lightool工具中。
pg_lightool is a light tool of postgres
Usage:
pg_lightool OPTION blockrecover
pg_lightool OPTION walshow
pg_lightool OPTION datadis
pg_lightool OPTION pageinspect
Common Options:
-V, --version output version information, then exit
For blockrecover:
-l, --log whether to write a debug info
-f, --relnode=spcid/dbid/relfilenode specify files to repair
-b, --block=n1[,n2,n3] specify blocks to repair(10 limit)
-1 for whole table recover
-w, --walpath=walpath wallog read from
-D, --pgdata=datapath data dir of database
-i, --immediate does not do a backup for old file
-r, --backuppath support pg_rman $BACKUP_PATH
For datadis:
-f, --relnode=spcid/dbid/relfilenode specify files to dis
-D, --pgdata=datapath data dir of database
-p, --place=outPtah place where store the result
-g, --grade=level 1 to show file level(default);
2 to show page level;
3 to show all;
-d, --detail wether to show detail info
-s, --small show which ratio small than it
For pageinspect:
-f, --relnode=spcid/dbid/relfilenode specify files to inspect
-D, --pgdata=datapath data dir of database
-p, --place=outPtah place where store the result
-b, --block=blkno specify blocks to inspect
blockrecover
如有bug欢迎提交。 联系我lchch1990@sina.cn
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )