日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

greenplum分區(qū)表查看所占空間大小

系統(tǒng) 3017 0

在使用greenplum數(shù)據(jù)庫的時候,有的時候想要查看表所占用空間的大小,會使用如下二個函數(shù)pg_relation_size和pg_size_pretty.

前者用來查看數(shù)據(jù)大小,后者是human readable的調(diào)整.方法如下:

select pg_size_pretty(pg_relation_size('relation_name')) ;

select pg_size_pretty(pg_relation_size(oid)) ;
但是,對于分區(qū)表而言,這個方法就沒有用了,會發(fā)現(xiàn)使用后表的大小為0bytes.原因在于:GP的分區(qū)表的主表只是一個表定義,其實際數(shù)據(jù)內(nèi)容存儲在繼承父表的分區(qū)子表里面了.上網(wǎng)查了一下,沒發(fā)現(xiàn)有相應(yīng)的函數(shù),干脆寫了個函數(shù)來實現(xiàn).

?

-- ?Function:?calc_partition_table(character?varying,?character?varying)

-- ?DROP?FUNCTION?calc_partition_table(character?varying,?character?varying);

CREATE ? OR ? REPLACE ? FUNCTION ?calc_partition_table(v_schemaname? character ? varying ,?v_tablename? character ? varying )
?? RETURNS ? bigint ? AS
$BODY$
DECLARE
????v_calc? BIGINT ?: = ? 0 ;
????v_total? BIGINT ?: = ? 0 ;
????v_tbname? VARCHAR ( 200 );
????cur_tbname? cursor ? for ? select ?schemaname || ' . ' || partitiontablename? as ?tb? from ?pg_partitions
??? where ?schemaname = v_schemaname? and ?tablename = v_tablename;
BEGIN
???? OPEN ?cur_tbname;
????loop
???????? FETCH ?cur_tbname? into ?v_tbname;
???????? if ? not ?found? THEN
???????????? exit ;
???????? end ? if ;
???????? EXECUTE ? ' select?pg_relation_size( ''' || v_tbname || ''' ) ' ? into ?v_calc;
????????v_total: = v_total + v_calc;????????
???? end ?loop;
???? CLOSE ?cur_tbname;
???? RETURN ?v_total;
end ;
$BODY$
??LANGUAGE?plpgsql?VOLATILE;
ALTER ? FUNCTION ?calc_partition_table( character ? varying ,? character ? varying )?OWNER? TO ?gpadmin;

?

greenplum分區(qū)表查看所占空間大小


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 嫩江县| 安乡县| 江川县| 蚌埠市| 东光县| 余干县| 松潘县| 清河县| 得荣县| 汝州市| 仪征市| 顺平县| 惠来县| 乌兰浩特市| 玉龙| 桂阳县| 台中县| 当阳市| 隆尧县| 额济纳旗| 垫江县| 米泉市| 搜索| 诏安县| 信阳市| 贵州省| 永年县| 彰化县| 疏勒县| 富蕴县| 股票| 榆树市| 韩城市| 措美县| 仁布县| 商城县| 秀山| 莱阳市| 容城县| 三台县| 兴安盟|