1、灾难恢复工具内核细节探究与分析灾难恢复工具内核细节探究与分析PDUPDU(PostgresqlPostgresql Data Unloader Data Unloader)IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛分享人:张晨分享人:张晨与与openGaussopenGauss与与kingbasekingbase目录CONTENTSIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛数据字典的快速初始化数据字典的快速初始化PDUPDU
2、的快速介绍的快速介绍PDUPDU的快速介绍的快速介绍IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛什么是什么是PDUPDUPostgreSQL Data Unloader(PDU)PostgreSQL Data Unloader(PDU)是专门用于是专门用于PostgresqlPostgresql系数据库的灾难恢复工具系数据库的灾难恢复工具IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛主要功能从wal中恢复delete/update
3、的原数据数据库无法启动时直接从数据文件中提取数据支持单表/整库/自定义数据文件级别的恢复提供事务级/时间区间级数据恢复为什么要做为什么要做PDUPDU填补填补PGPG系数据库在灾难恢复工具链的关键空白系数据库在灾难恢复工具链的关键空白IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛主流数据库OraclePostgresqlPG系国产数据库成熟工具DUL、ODU基础工具pg_filedump完全空白pg_filedump:-可定制化程度极低-遇到问题束手无策https:/ 2025IvorySQL 2025生态大会生
4、态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛PDUPDU软件的组成:软件的组成:pdupdu可执行文件可执行文件+pdu.ini+pdu.iniPDUPDU程序崩溃了怎么反馈程序崩溃了怎么反馈show me the show me the“corecore”IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛数据字典的快速初始化数据字典的快速初始化IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛IvorySQL 202
5、5IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛tupletuple数据读取基本原理数据读取基本原理=0 x008c=140140/8=17.5tupletuple数据读取基本原理数据读取基本原理数据页的核心构成数据页的核心构成 目录目录(line pointer)+(line pointer)+数据数据(tuple)(tuple)IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛寻找line pointers,从第8+(2+2)+(2+2)+2+2+4=25个
6、字节开始,每4字节一组3x8=24获取到单条ItemId之后,在偏移量lp_off获取tupleIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛tupletuple数据读取基本原理数据读取基本原理从从tupletuple中定位数据区域中定位数据区域按照给定的数据类型解析数据,解析结束的数据长度必须=itemSize4x8=32数据字典的快速初始化数据字典的快速初始化5 5张基表张基表IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛1、从