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

查看日志执行结果:

相关推荐
reasonsummer7 分钟前
【办公类-131-05】20261007中2班周计划制作(原资料Word单元格不统一 失败)
运维·服务器
SL_staff11 分钟前
制造业数字化协同:为什么甘特图只是起点,不是终点
java·开源·全栈
anew___28 分钟前
《从零手写操作系统 (29):管道与重定向进阶——命名管道、Here Document与Shell语法扩展》
java·开发语言·前端·javascript·网络
ouynagda31 分钟前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
Mikko734 分钟前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端
NightReader35 分钟前
PVE 环境部署
linux
蚰蜒螟42 分钟前
一次挂载的完整旅程:Linux 内核 VFS 到 ext4 的调用链剖析
linux·运维·服务器
害人终害己43 分钟前
Redis 日志:AUTH 认证信息
运维·服务器
奇牙coding1 小时前
GPT-5.5 API 报 401 但 GPT-5.4 正常怎么办?不是 Key 失效,是 Organization 头的强制校验变了
java·网络·gpt·ai
a努力。1 小时前
Context-State-Memory三重信息架构揭秘
java·服务器·前端