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

greenplum分區表查看所占空間大小

系統 3050 0

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

前者用來查看數據大小,后者是human readable的調整.方法如下:

select pg_size_pretty(pg_relation_size('relation_name')) ;

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

?

-- ?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分區表查看所占空間大小


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 崇州市| 灌云县| 察隅县| 杭锦旗| 汝阳县| 新津县| 奇台县| 定西市| 兴化市| 三河市| 花莲县| 若尔盖县| 德江县| 徐闻县| 通州市| 永丰县| 白玉县| 武平县| 江孜县| 广昌县| 金昌市| 临清市| 厦门市| 蓬安县| 宁阳县| 从江县| 永平县| 潼南县| 彭阳县| 清水河县| 嘉定区| 开封市| 扶绥县| 特克斯县| 武夷山市| 河曲县| 津南区| 彰武县| 彭山县| 营口市| 昭平县|