您好,欢迎访问一九零五行业门户网

Postgresql 添加分区表(按月和按日通用)

建了分区表的同学相信添加分区表很头疼,如果有按月分区又有按日分区的,而且是通过_yyyymmdd或者_yyyymm后缀进行分区的,那么可以用这个函数进行添加分区 create or replace function f_add_partition()returns voidlanguage plpgsqlas $function$declarev_
建了分区表的同学相信添加分区表很头疼,如果有按月分区又有按日分区的,而且是通过_yyyymmdd或者_yyyymm后缀进行分区的,那么可以用这个函数进行添加分区create or replace function f_add_partition() returns void language plpgsqlas $function$declarev_max_childname text;  --最大子表名称v_parentname text;  --子表对应的父表名称v_suffix text;  --子表日期后缀sql text; --要执行的sql语句gra_to text;   --赋予权限的语句begin--取出分区表最大分区表以及父表名称for v_max_childname, v_parentname in select max(inhrelid::regclass::text),inhparent::regclass from pg_inherits where  inhparent::regclass::text not like '%.%' group by inhparent    loop    raise notice '最大子表:%,父表:%',v_max_childname,v_parentname;      sql= 'select split_part('''|| v_max_childname  || ''',''_'',(length(''' || v_max_childname || ''')-length(replace(''' || v_max_childname || ''',''_'',''''))+1))';   --取出日期是按月还是按日    execute sql into v_suffix;      --将取出的日期存入v_suffix     while(length(v_suffix)=6 and v_suffix\dt  hank   | tbl              | table | hank hank   | tbl_20140322     | table | hank hank   | test             | table | hank hank   | test_201405      | table | hankselect f_add_partition();\dt hank   | tbl              | table | hank hank   | tbl_20140322     | table | hank 按日分区的显示太多,此处省略一万行。。。。。 hank   | tbl_20151230     | table | hank hank   | tbl_20151231     | table | hank按月的比较少,就全部贴出来了 hank   | test             | table | hank hank   | test_201405      | table | hank hank   | test_201406      | table | hank hank   | test_201407      | table | hank hank   | test_201408      | table | hank hank   | test_201409      | table | hank hank   | test_201410      | table | hank hank   | test_201411      | table | hank hank   | test_201412      | table | hank hank   | test_201501      | table | hank hank   | test_201502      | table | hank hank   | test_201503      | table | hank hank   | test_201504      | table | hank hank   | test_201505      | table | hank hank   | test_201506      | table | hank hank   | test_201507      | table | hank hank   | test_201508      | table | hank hank   | test_201509      | table | hank hank   | test_201510      | table | hank hank   | test_201511      | table | hank hank   | test_201512      | table | hank
其它类似信息

推荐信息