PGSQL结合linux cron定期执行vacuum_full_analyze命令

VACUUM FULL ANALYZE 详解

一、核心功能

  1. 空间回收与重组

    • 完全重写表数据文件,将碎片化的存储空间合并并返还操作系统(普通 VACUUM 仅标记空间可重用)。
    • 彻底清理死元组(已删除或更新的旧数据行),解决因频繁增删改导致的存储膨胀问题。
  2. 统计信息更新

    • 同步执行 ANALYZE,收集最新的表数据分布统计信息(如列值基数、空值比例等),优化查询计划生成。

二、适用场景

  • 存储严重碎片化‌:当表因长期高频更新导致空间利用率低于 50% 时。
  • 事务 ID 接近回卷‌:预防因事务 ID 耗尽导致的数据库写入阻塞。
  • 大表性能骤降‌:查询计划因统计信息过期频繁选择低效路径

三、编写脚本

脚本内容:

bash 复制代码
#!/bin/bash
export PGPASSWORD='abX123ads'
psql -p 5431 -U postgres -d gx_szab_db -h 10.168.4.153 \
  -c "VACUUM FULL ANALYZE \"JJDB\";" >> /data/vacuum_full_analyze.log 2>&1
psql -p 5431 -U postgres -d gx_szab_db -h 10.168.4.153 \
  -c "VACUUM FULL ANALYZE t_gx_key_person;" >> /data/vacuum_full_analyze.log 2>&1

脚本位置:

配置cron表达式 每五分钟执行一次:

查看日志执行结果:

相关推荐
野生技术架构师几秒前
2026最新Java面试1200题全解析:从基础到架构,覆盖所有技术栈(含答案)
java·面试·架构
大尚来也1 分钟前
主键、外键、索引,一篇讲透
java·数据库·oracle
段ヤシ.7 分钟前
回顾Java知识点,面试题汇总Day17(持续更新)
java·springboot·spring security·shiro·mybatis-plus·jdbctemplate·spring data jpa
REDcker9 分钟前
Linux文件IO底层原理详解
linux·运维·spring
为思念酝酿的痛9 分钟前
线程同步与互斥
linux·运维·服务器·后端
jjjava2.09 分钟前
Java 多线程核心基础与线程安全
java·开发语言
土星云SaturnCloud15 分钟前
模型转换与部署实战(PyTorch→ONNX→BModel)
服务器·人工智能·ai·边缘计算
一条代码鱼16 分钟前
Linux 文件实时同步完全指南:Lsyncd vs Inotifywait+Rsync
linux·运维·服务器
147API16 分钟前
Claude Opus 4.8 接口与工程落地分析:长任务调用链应该怎么设计
java·前端·数据库
lulu121654407817 分钟前
Claude钩子系统架构设计:从执行时序到扩展机制
java·人工智能·python·ai编程