vim pg-vacuum-freeze.sh

#!/bin/bash

#设置自动定期对 事务ID执行 回环
#zhaowz 2019-04-02

date=`date +"%Y%m%d%H%M"`
v_hour=0
v_param=$#

if [ $v_param -ge 3 ];then
        echo "Invalid argument!! E.g sh pg-vacuum-freeze.sh vlnx191001.xxx.cn OR sh pg-vacuum-freeze.sh vlnx191001.xxx.cn  \" db1,db2,db3,...\""
        exit 1
fi

pghosts=$1

if [ -n "$pghosts" ];then

hostname=${pghosts%%.*}
        filename=$hostname'-vacuum-freeze-'$date

for pghostname in $pghosts
        do
                if [ $v_param -eq 1 ];then
                        dblist=$(psql  -h $pghostname -U zhaowz -d postgres -c "select datname from pg_database where datname not in ('template0','template1')" -A -t)
                elif [ $v_param -eq 2 ];then
                        dblist=$(psql  -h $pghostname -U zhaowz -d postgres -c "select datname from pg_database where datname=any('{$2}')" -A -t)
                fi

if [ -z "$dblist" ];then
                        echo "Invalid dbname OR Invalid hostname !!!" >> /home/zhaowz/logs/$filename.log
                        exit 1
                fi

for db in $dblist
                        do
                                v_hour=$(date "+%k")
                                if [[ ${v_hour} -ge 1 && ${v_hour} -lt 10 ]]; then

echo "$db : `date +"%Y%m%d%H%M"` Begin">>/home/zhaowz/logs/$filename.log
                                        tables=$(psql  -h $pghostname -U zhaowz -d $db -c "select tablename from pg_tables where schemaname='public'" -A -t)

for table in $tables
                                        do
                                                echo "$table :`date +"%Y%m%d%H%M"` Begin vacuum-freeze ">>/home/zhaowz/logs/$filename.log
                                                psql  -h $pghostname -U zhaowz -d $db -c "Vacuum freeze $table"
                                                echo "$table :`date +"%Y%m%d%H%M"` $table vacuum-freeze has finished   ">>/home/zhaowz/logs/$filename.log
                                        done
                                fi
                        done
        done
fi

vacuum(free)相关推荐

  1. PostgreSQL 并行vacuum patch - 暨为什么需要并行vacuum或分区表

    标签 PostgreSQL , vacuum , freeze , 分区表 , 并行vacuum 背景 我们之前做过一个这样的测试,单表数据从1000万到10亿,对其进行增删改查的压测,性能几乎没有衰 ...

  2. greenplum vacuum清理删除数据命令

    官方文档 http://docs.greenplum.org/6-4/ref_guide/sql_commands/VACUUM.html greenplum数据删除后不会释放存储空间,需要命令VAC ...

  3. 定时执行vacuum

    写一个dat格式文件,内容如下: @echo off echo PostgreSQL8.4 Version is starting   echo Please wait ........ cd \ @ ...

  4. 也谈PostgreSQL的Vacuum机制及其最佳实践

    点击▲关注 "数据和云"   给公众号标星置顶 更多精彩 第一时间直达 前几天,我们就如何对数据库,表进行合适的vacuum策略,对已有方法进行了总结,回顾 新特性:postgre ...

  5. 新特性:postgresql的vacuum漫谈

    关注我们,下载更多资源 刘伟 刘伟,云和恩墨软件开发部研究院研究员:前微博DBA,主要研究方向为开源数据库,分布式数据库,擅长自动化运维以及数据库内核研究. ◆◆前言◆◆ 即便是从数据库特性,SQL功 ...

  6. 为什么vacuum后表还是继续膨胀?

    摘要: 对于更新和删除操作频繁的表,会存在大量垃圾数据,导致磁盘空间的浪费和查询扫描时额外的IO开销,需要定期执行清理操作(vacuum)来控制行存表以及表上索引的膨胀.本文将对vacuum的原理以及 ...

  7. 带你了解数据库的“吸尘器”:VACUUM

    本文分享自华为云社区<GaussDB(DWS) VACUUM总结>,原文作者:KevinMV . 在GaussDB(DWS)中,VACUUM的本质就是一个"吸尘器",用 ...

  8. GaussDB(DWS)磁盘维护:vacuum full执行慢怎么办?

    摘要:在数据库中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数据并释放空间. vacuum的功能 回收空间 数据库总是不断地在执行删除,更新等操作.良好的空间管理 ...

  9. 技术应用丨DWS 空间释放(vacuum full) 最佳实践

    摘要:本文主要介绍如何进行正常的VACUUM FULL 维护,及时释放磁盘存储. 1.背景 目前根据某项目情况,其DWS的磁盘IO性能低.库内数据量大.对象多.数据膨胀严重.若毫无目的性的进行空间释放 ...

  10. [postgresql]postgresql的VACUUM 介绍

    目录 定义 语法 描述 参数 输出 注意 定义 VACUUM 垃圾收集并根据需要分析一个数据库. 语法 VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE | ...

最新文章

  1. 阿里当 PM 需要做什么?程序媛的亲身经历告诉你!| 程序员有话说
  2. Python 传值和传址 copy/deepcopy
  3. Ubuntu 安装软件笔记
  4. LeetCode 404左叶子之和-简单
  5. 【Python 标准库学习】多种操作系统接口和常用路径操作库 — os 与 os.path
  6. 剑指offer_05
  7. c语言中行号大小调整,给自己的程序加上行号
  8. wps linux 字体_WPS Office:Linux 上的 Microsoft Office 的免费替代品 | Linux 中国
  9. 推荐一些小而美的互联网公司
  10. 计算机系统基础学习报告(一)
  11. Win10如何玩Win7自带的游戏
  12. 主要几个浏览器的内核是什么
  13. sodility文档--modifier函数修改器
  14. android 读写sd文件系统,SD卡FAT16文件系统的学习笔记
  15. java 编程联系_《JAVA程序设计》结对编程联系_四则运算(第二周:整体性总结)...
  16. 全国计算机等级考试四级考试大纲,全国计算机等级考试四级考试大纲
  17. Pytorch | 报错The given NumPy array is not writeable,and PyTorch does not support non-writeable tensor
  18. Bootstrap前端组件库+构建管理
  19. 计算机专业需要用独显吗,集显 or 独显 我的程序用哪个必须由我定
  20. 解决vue项目路由拦截跳转登录页错误

热门文章

  1. [SpringBoot][15][SpringBoot处理高并发]
  2. Springboot 读取配置文件参数(yml\properties)
  3. matlab 二维凸包面积,PKU——3348——(凸包和计算多边形面积)
  4. ps cs3 卸载与再安装
  5. 认真的雪歌词的c语言编码,认真的雪(C调演奏版,薛之谦)钢琴谱简谱数字谱双手简谱.pdf...
  6. 加班庆国庆,解决了配准法处理大图片的问题
  7. 关系从句逻辑【Relational clausal logic】
  8. 后端语言c,大前端的后端语言
  9. 对于云原生时代的后端业务开发和项目系统学习,选Go Or Java?
  10. 博科(Brocade)存储交换机日常运维手册