当前位置: 首页 > news >正文

postgres启用归档模式

默认情况下,postgres未开启归档模式。当重做日志被写满时,之前的重做日志信息将被覆盖,这就可能导致重做日志信息的丢失。为了保证所有的重做日志不被覆盖,生产环境下一般启用归档模式。当重做日志被写满,pg先产生归档日志文件以备份重做日志,然后再覆盖重做日志文件。

配置步骤

  1. 在psql中查看当前的归档模式。默认为off,也就是未开启归档模式。
show archive_mode;
  1. 创建归档日志目录。个人习惯在数据目录下创建,可根据实际需求修改。
mkdir -p /home/postgres/apps/pgsql/data/archivelog
  1. 修改postgresql.conf文件
# 开启归档模式
archive_mode = on
# 配置归档命令
archive_command = 'log_dt=$(date +%Y%m%d);log_dir="/home/postgres/apps/pgsql/data/archivelog/${log_dt}";(test -d ${log_dir} || mkdir -p ${log_dir}) && cp %p ${log_dir}/%f'
  1. 重启postgres
pg_ctl restart -D /home/postgres/apps/pgsql/data/
  1. 使用psql登录控制台确认
-- 查看归档模式, 此时应该为on
show archive_mode;
-- 查看预写日志列表
select * from  pg_ls_waldir() order by modification desc;
-- 手动切换日志
checkpoint;  -- 触发一个完全检查点, 以及将内存中的脏数据写入数据文件
select pg_switch_wal();
  1. 查看归档文件
/home/postgres/apps/pgsql/data/archivelog

自动清理归档日志文件的shell脚本

虽然都是写shell脚本,但有两种配置自动执行的方式。一种是写在postgresql.conf中的archive_command中,每次创建归档日志的时候调用。另一种是搭配crontab。crontab方式跟配置archive_command方式差不多,只不过省去传参,直接配置crontab定时删除即可。以下为配置archive_command的步骤。

脚本内容

#!/bin/bash
set -u
log_dt=$(date +%F)
archivelog_dir="/home/postgres/apps/pgsql/data/archivelog/${log_dt}"
if [ ! -d "${archivelog_dir}/$1" ]; thenmkdir -p "${archivelog_dir}/$1"
fi
cp --preserve=timestamps $2 ${archivelog_dir}/$1
find ${archivelog_dir}/* -type f -mtime +7 | xargs rm -f

修改postgresql.conf文件

archive_command = 'bash /home/postgres/scripts/clean_archivelog.sh %f %p'
http://www.vanclimg.com/news/2475.html

相关文章:

  • 交底注意事项
  • AutoCAD2026界面底部状态栏不见了,如何找回?
  • 3D建模利器:Substance 3D Stager 3.1.3 安装与基础使用指南
  • windows 下go run,go build速度慢
  • MySQL如何查看每个分区的数据量
  • 人工智能驱动企业:通过情境感知AI重塑组织2不受束缚的企业
  • 美颜的功能分类有哪些?
  • PGSQL运维优化:提升vacuum执行时间观测能力
  • day08
  • 对比4款主流美颜App,谁才是自拍王者?
  • 基于Java+Springboot+Vue开发的房产销售管理系统源码+运行步骤
  • openlayers v10.3.0更新
  • macOS Ventura 13.7.7 (22H722) Boot ISO 原版可引导镜像下载
  • macOS Ventura 13.7.7 (22H722) 正式版 ISO、IPSW、PKG 下载
  • mysql外键
  • macOS Sonoma 14.7.7 (23H723) Boot ISO 原版可引导镜像下载
  • macOS Sonoma 14.7.7 (23H723) 正式版 ISO、IPSW、PKG 下载
  • Netty客户端
  • IACheck助力智能家电安全检测报告的精准性
  • 认知无线电合作感知,合作下的检测和虚警概率关系以及最有门限选择
  • 谷歌插件沉浸式翻译翻译本地文件
  • [Record] Ynoi2018Ynoi2019 大分块系列
  • 结构化数据自动生成文本技术解析
  • [Record] Ynoi2018+ 大分块系列
  • AI 赋能的故障排除:技术趋势与实践
  • vim E575: viminfo: Illegal starting char in line 的解决方案
  • 剑指offer-17、树的⼦结构
  • 2025年:是时候重新认识System.Text.Json了
  • 阿萨QSDFG - kkksc03
  • HTML学习地址 - kkksc03