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表达式 每五分钟执行一次:

查看日志执行结果:

相关推荐
new_abc15 分钟前
net-snmp添加自定义mib树
服务器·前端·javascript
幻雨様28 分钟前
UE5多人MOBA+GAS 30、技能升级机制
运维·服务器·ue5
花落人散处33 分钟前
SpringAI——接入高德MCP服务
java·后端
超浪的晨33 分钟前
Java 代理机制详解:从静态代理到动态代理,彻底掌握代理模式的原理与实战
java·开发语言·后端·学习·代理模式·个人开发
天天摸鱼的java工程师34 分钟前
🧠 MySQL 索引结构有哪些?优缺点是什么?【原理 + 场景实战】
java·后端·面试
java叶新东老师1 小时前
idea提交时忽略.class、.iml文件和文件夹或目录的方法
java·开发语言
飞翔的佩奇1 小时前
Java项目:基于SSM框架实现的社区团购管理系统【ssm+B/S架构+源码+数据库+毕业论文+答辩PPT+远程部署】
java·数据库·vue.js·毕业设计·mybatis·答辩ppt·社区团购
TDengine (老段)1 小时前
TDengine 转化函数 TO_TIMESTAMP 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Warren981 小时前
Java Collections工具类
java·开发语言·笔记·python·学习·oracle·硬件工程
Joey_Chen2 小时前
【What · Why · How】浅析select/poll/epoll与IO多路复用
linux·服务器