已经很久没有发文章了,主要是最近工作上的内容都不适合发文章公开。可能往后文章发表也不这么频繁了,不过大家有问题我们可以交流。之前有写过PG增量备份的其他工具使用方法,pg_probackup也是应用比较多的PG备份工具。
pg_probackup
是一个用于管理 PostgreSQL 数据库集群备份与恢复的实用工具,截止2.5.15版本,支持 PostgreSQL 11-16 及以上版本。它能够执行定期备份,并在故障发生时帮助恢复服务器。
pg_probackup实用程序基于pg_arman,它最初由NTT编写,然后由Michael Paquier开发和维护。
作为 PostgreSQL 官方扩展工具之一,pg_probackup
相比其他备份方案具备以下优势:
支持三种增量备份方式:
checkdb
命令对 PostgreSQL 实例进行完整性验证。_vm
、_fsm
)。所有备份均为 物理在线备份,确保数据一致性。支持两种 WAL 捕获方式:
限制 | 描述 |
---|---|
支持的 PostgreSQL 版本 | pg_probackup 仅支持 PostgreSQL 9.5 及更高版本。 |
Windows 系统的限制 | Windows 系统不支持远程模式。 |
PostgreSQL 11 的备份要求 | 在 Unix 系统上,对于 PostgreSQL 11,备份只能由启动 PostgreSQL 服务器的同一个操作系统用户执行。例如,如果 PostgreSQL 由用户 postgres 启动,则备份命令也必须由用户 postgres 执行。在使用 SSH 远程模式时,必须设置 --remote-user 选项为 postgres 。 |
PostgreSQL 9.5 的备份要求 | 对于 PostgreSQL 9.5,函数 pg_create_restore_point(text) 和 pg_switch_xlog() 只有当备份角色是超级用户时才能执行。因此,使用非超级用户角色备份流量较少的集群时,备份可能会比使用超级用户角色时更慢。 |
备份与恢复服务器的兼容性 | 从 PostgreSQL 服务器中获取的备份与被恢复的服务器必须在 block_size 和 wal_block_size 参数上兼容,并且必须具有相同的主版本号。根据集群配置,PostgreSQL 本身可能会施加额外的限制,如 CPU 架构或 libc/icu 版本等。 |
通过github下载其pg_probackup源码包
执行源码编译安装。需要可读取pg_config指令。
su - postgres ## 使用postgres用户 避免其他用户安装破环目录权限问题
tar -zxvf pg_probackup-2.5.15.tar.gz
cd pg_probackup-2.5.15/
make USE_PGXS=1 PG_CONFIG=/home/postgres/pg/bin/pg_config top_srcdir=/home/postgres/postgresql-16.3
make USE_PGXS=1 PG_CONFIG=/home/postgres/pg/bin/pg_config top_srcdir=/home/postgres/postgresql-16.3 install
## top_srcdir 参数指定得是YODB的源码包位置
## USE_PGXS=1 使用 PGXS 外部扩展构建模式
创建初始化目录适用独立得目录为其备份
#创建备份目录
mkdir -p /home/postgres/backup
##初始化备份目录(pg_probackup会自动创建对应得backups、wal的分类