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

查看日志执行结果:

相关推荐
Mr.4567几秒前
Linux&Windows环境下Nacos3.1.0详细安装配置指南:从零到生产就绪
linux·运维·服务器
咖啡Beans2 分钟前
SpringBoot集成Clickhouse
java·spring boot
王道长服务器 | 亚马逊云4 分钟前
AWS Route 53 详解:不只是 DNS,还能做智能流量调度
服务器·网络·微服务·云原生·架构·云计算·aws
kobe_t14 分钟前
数据安全系列6:从SM4国密算法谈到Bouncy Castle
java
從南走到北29 分钟前
JAVA露营基地预约户外露营预约下单系统小程序
java·开发语言·小程序
曹牧37 分钟前
Java:实现List的定长截取
java·开发语言·list
Lxinccode40 分钟前
python(42) : 监听本地文件夹上传到服务器指定目录
服务器·开发语言·python·文件上传服务器·监听文件上传服务器
峰顶听歌的鲸鱼1 小时前
30.Linux DHCP 服务器
linux·运维·服务器·笔记·学习方法
水无痕simon1 小时前
8 shiro的web整合
java
CodeCraft Studio1 小时前
全球知名的Java Web开发平台Vaadin上线慧都网
java·开发语言·前端·vaadin·java开发框架·java全栈开发·java ui 框架