1、指导单位:中国开源云联盟 TC601大数据技术标准推进委员会刘伟云和恩墨物理备份与恢复逻辑备份与恢复“特殊”的数据恢复备份管理物理备份与恢复物理备份与恢复 pg_basebackup 文件快照 pg_start_backup与pg_stop_backup lvm zfspg_basebackup原生自带生成standby配置文件recovery.conf备份方式Fetch 备份数据之后备份walStream 数据与wal同时传输(不支持标准输出)备份流程创建复制slot检查时间线Start replication(内部command)接收并写入文件文件快照文件快照 Before 9.x pg_
2、start_backup&pg_stop_backup Checkpoint Force page writes 期间WAL(XLOG)Copy on Write LVM快照 ZFS快照物理备份物理备份恢复恢复 Wal重放 pg_control中获取checkpoint信息(起点)逐个应用redo记录 新建时间线(时间点恢复)Recovery.conf restore_command 获取WAL日志 archive_cleanup_command 清理WAL日志 recovery_end_command 恢复完成后执行的命令 recovery_target_timeline 恢复目标时间线逻辑
3、备份与恢复逻辑备份与恢复 Pg_dump与pg_dumpall 并行逻辑导出与事务一致性 pg_restore COPYPostgreSQL逻辑备份逻辑备份 Pg_dump 导出单库 逻辑备份(SQL集合)导出格式 SQL 可以使用psql命令直接导入 归档文件 使用pg_restore选择性恢复 Pg_dumpall 导出所有database 导出SQLPg_dump并行导出与事务一致性并行导出与事务一致性 并行导出-j jobs 仅支持目录格式输出 同步快照(多会话一致性读)(主库9.2,从库10)BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE R
4、EAD;SELECT pg_export_snapshot();SET TRANSACTION SNAPSHOT 000003A1-1;Pg_restore Only for pg_dump 并行导入 选择性导入-l 列出备份中的对象列表-f 输出列表到文件 注释不需要恢复的对象 发起导入简单易懂的逻辑备份简单易懂的逻辑备份 COPY CSV格式 COPY from database to CSV COPY from CSV to database 跨数据库类型迁移PostgreSQL 时间点恢复时间点恢复 WAL备份 archive_command 找点 Wal_dump 物理方式的时间点恢
5、复 Recovery.conf“特殊特殊”的的PostgreSQL数据恢复数据恢复 延迟复制 闪回查询 数据块损坏恢复PostgreSQL 延迟复制延迟复制 BIG DATABASE 恢复紧急 recovery_min_apply_delay 操作 SELECT pg_xlog_replay_pause();recovery_target_time=2019-11-12 16:25:00+00(重启配置)PostgreSQL 闪回查询闪回查询 配置 Vacuum延后 vacuum_defer_cleanup_age vacuum_freeze_min_age track_commit_time
6、stamp pg_dirtyread SELECT*FROM pg_dirtyread(foo)as t(bar bigint,baz text);PostgreSQL 数据块损坏恢复数据块损坏恢复 zero_damaged_pages 跳过错误数据块 pg_filedump 从数据文件中直接抽取数据从数据文件中直接抽取数据 控制文件控制文件 索引文件索引文件 数据文件数据文件 pg_filedump-D pg_relation_filepath pg_classPostgreSQL 备份管理备份管理 pg_rman 备份执行 备份恢复 备份管理Pg_rman command Init 初始化
7、元数据 Backup 备份数据库 Restore 恢复数据库 Show 查看备份历史记录 Validate 验证备份 Delete 删除备份 Purge 删除失效备份元数据Pg_rman 备份备份 RUN WITH DATABASE 备份模式 全量备份(基于文件系统)增量备份(基于数据块LSN变更)备份目标 主库 从库PostgreSQL 备份管理备份管理 Barman 单对多 SSH命令 Rsync通道 Pg_basebackup 元数据管理 CRON检查Barman备份与恢复备份与恢复 备份 全量备份 WAL备份 pg_receivewal/archive_command 恢复 时间点恢复 沙盒恢复 沙盒数据库中执行Pg_dump