postgresql10.4增量备份

本文详细介绍了如何在PostgreSQL 10.4中设置WAL归档,包括配置参数、执行本地shell命令进行归档,以及如何进行文件系统级别的备份和恢复,通过实例演示了如何验证备份的有效性。

Postgresql 版本 10.4
系统平台: contos6.5

1.开启postgres的WAL归档

WAL归档是记录对数据库的一些操作的序列文件,postgres将最近的WAL文件保存在 pg_wal 中,所以我们还需要设置在产生WAL文件时将其持续保存到远程存储或者在本地的另外一个地方。WAL文件每个16MB,postgres自动进行分割。
1.1.在数据目录/opt/pg10.4/data 中找到posstgresql.conf配置文件(数据目录可能不同),这里需要设置参数:
  • wal_level
    设置保存操作日志的具体程度级别,要设置WAL归档至少要设置为replica

  • archive_mode
    是否启用WAL归档 , 设置为on

  • archive_command
    执行本地shell命令来归档已完成的WAL文件段,
    %p表示每一个产生的WAL文件位置,%f表示该文件名,

  • 以下命令表示把新产生的WAL文件转储到指定目录中
    后面的部分表示将正常输出,错误输出重定向到日志文件中,方便查看错误情况
    'cp %p /opt/pg10.4/archivedir/%f > /opt/pg10.4/archive.log 2>&1'
    注意:确保/opt/pg10.4/archivedir里面是空的

  • archive_timeout
    archive_timeout强制服务器定期切换到新的WAL段文件,以至于WAL文件不会太少,这是可选设置,不强求。

  • 演示

[peter@localhost bin]$ cd /opt/pg
pg10.4/  pg11.1/  pg9.6.0/ 
[peter@localhost bin]$ cd /opt/pg10.4/
[peter@localhost pg10.4]$ ls
bin  data  env.sh  include  lib  share
[peter@localhost pg10.4]$ cd data
[peter@localhost data]$ ls
base          pg_ident.conf  pg_serial     pg_tblspc    postgresql.auto.conf
global        pg_logical     pg_snapshots  pg_twophase  postgresql.conf
pg_commit_ts  pg_multixact   pg_stat       PG_VERSION   postgresql.conf~
pg_dynshmem   pg_notify      pg_stat_tmp   pg_wal       postmaster.opts
pg_hba.conf   pg_replslot    pg_subtrans   pg_xact
[peter@localhost data]$ vim postgresql.conf

### 实现 Windows 环境下 PostgreSQL 数据库增量备份 在 Windows 系统上实现 PostgreSQL增量备份主要依赖于 `pg_basebackup` 和 `pg_receivewal` 工具。这两种工具提供了不同的方式来执行增量备份。 #### 使用 pg_receivewal 进行增量备份 `pg_receivewal` 是一种用于连续接收 WAL (Write-Ahead Logging) 文件并保存到指定位置的命令行工具。通过这种方式可以有效地创建增量备份,因为每次只需要复制自上次备份以来更改的数据[^1]。 ```bash "D:\PostgreSQL\pg10\bin\pg_receivewal.exe" --host=数据库IP --port=端口 --username=用户名 -D D:\wal_backup_directory --progress -v ``` 此命令会持续监听新的WAL文件并将它们存储在一个目录中(`D:\wal_backup_directory`)。当需要恢复时,可以通过配置参数指向这个包含所有必要日志条目的路径来进行时间点恢复(PITR)。 #### 设置计划任务自动完成每日增量备份 为了确保定期获取最新的变更记录,在 Windows 上可通过 Task Scheduler 创建一个定时任务来运行上述命令。这使得即使无人值守也能保持最新状态下的增量备份副本[^2]。 - 打开 "Task Scheduler" - 选择 "Create Basic Task..." - 设定触发器为每天特定时间点启动 - 动作设置为 “Start a program” - 浏览找到 `pg_receivewal.exe`, 并填入相应参数作为附加选项 这样就完成了基于 Windows 计划任务机制上的自动化增量备份流程构建。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值