首頁 資料庫 mysql教程 gp_gather_object_sizescript

gp_gather_object_sizescript

Jun 07, 2016 pm 04:10 PM
object 數據

由于数据库对象(table)太多太大,而且业务比较繁忙,在收集统计对象大小信息的过程中经常会增删改对象,导致数据库报对象不存在的错误,于是写了个脚本用于完成上述功能,并到处到csv文件便于分发相关维护、开发人员。 gp_gather_object_size script #!/us

由于数据库对象(table)太多太大,而且业务比较繁忙,在收集统计对象大小信息的过程中经常会增删改对象,导致数据库报对象不存在的错误,于是写了个脚本用于完成上述功能,并到处到csv文件便于分发相关维护、开发人员。

gp_gather_object_size script

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
# Copyright [Gtlions Lai].
# Create Date:
# Update Date:
"""summarization ahout this script.

detail ahout this script

   Class(): summarization about Class
   ...
   function(): summarization about function
   ...
"""
__authors__ = &#39;"Gtlions Lai" <gtlions.l@qq.com>&#39;

import psycopg2
import csv

db = psycopg2.connect(dbname="gtlions", user="gpadmin", host="10.1.1.1")
# db = psycopg2.connect(dbname="gtlions", user="gpadmin", host="10.1.1.1")
# db = psycopg2.connect(dbname="gtlions", user="gpadmin", host="10.1.1.1")

cur = db.cursor()
cur.execute(&#39;select current_database()&#39;)
current_database = cur.fetchone()

f = open("gp_object_size" + current_database[0] + ".csv", "w")
writer = csv.writer(f, lineterminator="\n", quoting=csv.QUOTE_NONNUMERIC)

cur.execute(
    &#39;&#39;&#39;select a.schemaname ,a.tablename ,a.tableowner from pg_tables a where a.schemaname not like &#39;pg_temp%&#39; and a.schemaname not in (&#39;gp_toolkit&#39;,&#39;information_schema&#39;,&#39;pg_catalog&#39;,&#39;gpmg&#39;) order by 1,2;&#39;&#39;&#39;)
writer.writerow(("schemaname", "tablename", "tableowner", "size-1", "size-byte"), )

for object in cur.fetchall():
    objectname = object[0] + &#39;.&#39; + object[1]
    try:
        cur.execute(
            "select pg_size_pretty(pg_total_relation_size(&#39;" + objectname + "&#39;)),pg_total_relation_size(&#39;" + objectname + "&#39;);")
        sizeinfo = cur.fetchone()
        writer.writerow(object + sizeinfo)
    except psycopg2.ProgrammingError, e:
        print e

f.close()
cur.close()
db.commit()
db.close()
登入後複製


-E0F-

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用ddrescue在Linux上恢復數據 使用ddrescue在Linux上恢復數據 Mar 20, 2024 pm 01:37 PM

使用ddrescue在Linux上恢復數據

開源!超越ZoeDepth! DepthFM:快速且精確的單目深度估計! 開源!超越ZoeDepth! DepthFM:快速且精確的單目深度估計! Apr 03, 2024 pm 12:04 PM

開源!超越ZoeDepth! DepthFM:快速且精確的單目深度估計!

如何多條件使用Excel過濾功能 如何多條件使用Excel過濾功能 Feb 26, 2024 am 10:19 AM

如何多條件使用Excel過濾功能

Google狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理訓練最快選擇 Google狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理訓練最快選擇 Apr 01, 2024 pm 07:46 PM

Google狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理訓練最快選擇

超級智能體生命力覺醒!可自我更新的AI來了,媽媽再也不用擔心資料瓶頸難題 超級智能體生命力覺醒!可自我更新的AI來了,媽媽再也不用擔心資料瓶頸難題 Apr 29, 2024 pm 06:55 PM

超級智能體生命力覺醒!可自我更新的AI來了,媽媽再也不用擔心資料瓶頸難題

iPhone上的蜂窩數據網路速度慢:修復 iPhone上的蜂窩數據網路速度慢:修復 May 03, 2024 pm 09:01 PM

iPhone上的蜂窩數據網路速度慢:修復

美國空軍高調展示首個AI戰鬥機!部長親自試駕全程未乾預,10萬行代碼試飛21次 美國空軍高調展示首個AI戰鬥機!部長親自試駕全程未乾預,10萬行代碼試飛21次 May 07, 2024 pm 05:00 PM

美國空軍高調展示首個AI戰鬥機!部長親自試駕全程未乾預,10萬行代碼試飛21次

首個自主完成人類任務機器人出現,五指靈活速度超人,大模型加持虛擬空間訓練 首個自主完成人類任務機器人出現,五指靈活速度超人,大模型加持虛擬空間訓練 Mar 11, 2024 pm 12:10 PM

首個自主完成人類任務機器人出現,五指靈活速度超人,大模型加持虛擬空間訓練

See all articles