文章目录

  • 概述
  • 参数配置
  • 归档策略脚本

概述

今天分享一个PostgreSQL数据库配置wal日志归档的策略。所谓wal日志归档,就是把在线的wal日志备份出来。说起来简单,但是在正式的系统上需要一个完备的归档策略,以备系统所需稳定

参数配置

在开启wal日志归档,首先需要设置几个参数

  • wal_level = replica
    该参数的可选的值有minimal,replica和logical,wal的级别依次增高,在wal的信息也越多。由于minimal这一级别的wal不包含从基础的备份和wal日志重建数据的足够信息,在该模式下,无法开启wal日志归档

  • archive_mode = on
    上述参数为on,表示打开归档备份,可选的参数为on,off,always 默认值为off,所以要手动打开

  • archive_command = ‘cp %p /pgdata/10/archive_wals%f’
    该参数的默认值是一个空字符串,他的值可以是一条shell命令或者一个复杂的shell脚本。在shell脚本或命令中可以用 “%p” 表示将要归档的wal文件包含完整路径的信息的文件名,用“%f” 代表不包含路径信息的wal文件的文件名

注意:wal_level和archive_mode参数修改都需要重新启动数据库才可以生效。而修改archive_command则不需要。所以一般配置新系统时,无论当时是否需要归档,这要建议将这两个参数开启

归档策略脚本

这次分享的策略是使用一个shell脚本来管理归档:
在postgres家目录下,分别创建bin,log目录。bin目录存放此脚本,log则记录执行日志
归档策略是 在/data下的 archivedir中,按日期为名归档日志,保留20天。20天前的自动删除

archive_command参数的配置为:

archive_command ='/bin/bash /home/postgres/bin/pg_archive.sh %p %f'

脚本内容为

#!/bin/bash
source /home/postgres/.bash_profileDATE=`date +%Y%m%d`
DIR="/data/archivedir/$DATE"
BACK="/data/archivedir/"`date -d '-20 day' +%Y%m%d`
if [ -d "$BACK" ]; thenrm -rf $BACKecho "success rm $BACK" > /home/postgres/logs/pg_archive_logselseecho "the old backup file not exists!" > /home/postgres/logs/pg_archive_logs
fi(test -d $DIR || mkdir -p $DIR) && cp $1 $DIR/$2

PostgreSQL:WAL日志归档策略相关推荐

  1. Postgresql wal日志

    wal日志 wal日志是什么 WAL机制实现 LSN标记 pg的wal配置 检查点 wal日志是什么 WAL即Write-Ahead Logging,预写式日志(WAL)是保证数据完整性的一种标准方法 ...

  2. postgres9.5.7 wal日志归档和任意时间点恢复数据

    wal日志备份 目录规划 /mnt2/postgresql_basebak/data #基础备份目录 /mnt2/postgresql_recover/data #还原目录 /mnt2/postgre ...

  3. postgresql 安装 配置远程访问 PostgreSQL WAL日志解析工具: wal2json cdc数据同步方案

    文章目录 一.安装postgres 二.WAL日志解析工具 三.cdc增量数据同步方案 一.安装postgres (1)新增postgres用户组: groupadd postgres 新增postg ...

  4. PG 备份策略及 WAL 日志清理策略

    一.Postgresql 备份策略 备份时间:每天 05:10(根据备份量级可灵活调整) 备份模式:全量备份 备份保存天数:7 天 备份地址:/home/postgres/postgresql_bac ...

  5. Postgresql关于wal日志总结,一文搞清楚它的所有概念和相关操作

    官方文档 https://www.postgresql.org/docs/11/wal-intro.html https://www.postgresql.org/docs/11/wal-config ...

  6. PostgreSQL利用全备与WAL日志恢复数据库

    文章目录 基础备份--全备 使用pg_basebackup 参数 WAL日志的的备份 测试流程 将被数据文件全备 继续操作主库 配置recovery.conf文件 启动恢复实例 查看恢复情况 一般情况 ...

  7. WAL 日志和归档配置

    WAL 日志和归档配置        WAL 日志归档,就是把在线的已写完的 WAL 日志复制出来.使用复制 WAL 文件的方式 来同步主.备数据库之间的数据,会导致备库落后主库一个 WAL 日志文件 ...

  8. PostgreSQL-12 通过归档WAL日志同步主备数据

    前期安装工作参考上一篇 su postgres 创建数据库目录 mkdir /home/pg12/data1 mkdir /home/pg12/data2 chmod 700 /home/pg12/d ...

  9. Postgresql杂谈 20—详解Postgresql中的Checkpoint、WAL日志和热备份恢复

    本文中,我们共同学习下Postgresql的WAL日志.WAL,是Write Ahead Log的简称,翻译过来就是预写日志,或者叫做重做日志.相信大家对数据库事务的四大特性ACID(原子性.一致性. ...

最新文章

  1. 记录一下MATLAB中ode45函数求解非刚性微分方程
  2. k8s部署dashboard
  3. redis 主从哨兵模式搭建
  4. SQL注入绕过登录验证
  5. JAVA如何正确处理Unicode字符
  6. 你是否发现 职业能力危机,请 警惕
  7. 输入流IS和输出流OS学习总结
  8. 崛起于Springboot2.X之Mysql读写分离(6)
  9. Ubuntu 19.10 将于本月结束生命周期
  10. oracle11g更改字符集AL32UTF8为ZHS16GBK及创建用户、删除用户
  11. java ocx调用_Javascript调用OCX控件
  12. 华中计算机基础试题,华中科技大学2009大学计算机基础考试试题a
  13. UI设计中图形设计详解
  14. vertica基本操作
  15. 陪着时光,走过羊肠阡陌
  16. Spring Cloud 五大组件
  17. 网易云音乐登录信息加密算法详解
  18. C#开发简单绘图工具
  19. 微信多开工具 Mac版的安装及卸载教程
  20. freebsd ports更新源

热门文章

  1. 微信小程序--(找回密码)
  2. 最经典的HashMap图文详解,干货满满!
  3. python里面的代码是什么状态的,这个代码中使用Python的'wb'是什么意思?
  4. win10运行在哪里_win10文件夹同步,教你2种方法
  5. layer 弹出层全屏
  6. java 狼捉羊游戏背景_Js 写了一个 “狼吃羊” 小游戏。
  7. linux杀死redis进程,重启redis服务
  8. 【Python数据】懒人修仙传数值
  9. 【云计算】阿里云产品全景图
  10. VScode Java代码自动生成器