请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 1241|回复: 5

vacuum(analyze)

[复制链接]

19

主题

28

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2020-1-16 19:56:11 | 显示全部楼层 |阅读模式
#!/bin/bash
#设置自动定期对表更新统计信息和删除’死‘行
#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-analyze.sh vlnx191001.xxx.cn OR sh pg-vacuum-analyze.sh vlnx191001.xxx.cn   \" db1,db2,db3,...\""
        exit 1
fi
pghosts=$1
if [ -n "$pghosts" ];then
        hostname=${pghosts%%.*}
        filename=$hostname'-vacuum-analyze-'$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-analyze ">>/home/zhaowz/logs/$filename.log
                                        #psql  -h $pghostname -U zhaowz  -d $db -c "vacuum $table"
                                        psql  -h $pghostname -U zhaowz  -d $db -c "vacuum analyze $table"
                                        echo "$table :`date +"%Y%m%d%H%M"` vacuum-analyze  has finished   ">>/home/zhaowz/logs/$filename.log
                                done
                        fi
                done
        done
fi
                                                                                                                        
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        Captains-Felix                                                                发布了194 篇原创文章 · 获赞 43 · 访问量 46万+                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:MySQL内存管理,内存分配器和操作系统
下一篇:Mysql自学 --存储过程
回复

使用道具 举报

0

主题

10

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2020-1-19 03:00:55 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

0

主题

23

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
发表于 2020-1-22 03:47:49 | 显示全部楼层
既然你诚信诚意的推荐了,那我就勉为其难的看看吧![www.12360.co]
回复

使用道具 举报

0

主题

16

帖子

346

积分

中级会员

Rank: 3Rank: 3

积分
346
发表于 2020-1-22 22:40:42 | 显示全部楼层
感谢楼主的无私分享![www.12360.co]
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 2020-1-23 20:09:26 | 显示全部楼层
楼主,大恩不言谢了![www.12360.co]
回复

使用道具 举报

0

主题

9

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 昨天 15:10 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-17 22:13 , Processed in 0.105911 second(s), 26 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表