-
Notifications
You must be signed in to change notification settings - Fork 69
Closed
Description
- create a callback function:
declare
v_parent text;
v_patition text;
v_rang_min text;
begin
--RAISE WARNING 'args: %', args;
v_parent := args->>'parent';
v_patition := args->>'partition';
v_rang_min := args->>'range_min';
--RAISE WARNING 'args: %, %, %', v_parent, v_patition,v_rang_min;
execute 'alter table '||v_patition||' rename CONSTRAINT pathman_'||v_patition||'_1_check to pathman_'||v_parent||'_'||to_char(v_rang_min::date,'yyyymm')||'_1_check';
execute 'alter table '||v_patition||' rename to '||v_parent||'_'||to_char(v_rang_min::date,'yyyymm');
end;
$$ language plpgsql;
- create a partition table, everythin is OK.
select set_init_callback('t4','part_onemon_callback');
select create_partitions_from_range('t4','a',date'20161001',date'20170101',interval'1 month');
select * from pathman_partition_list where parent = 't4'::regclass;
insert into t4 values ('20161201');
select * from only t4;
- insert a values out of range, this will something go wrong.
insert into t4 values ('20171111');
HINT: See server log for more details.
LOCATION: create_partitions_bg_worker, pathman_workers.c:305
- error log
2016-11-15 14:17:31.947 CST,,,37704,,582aa87b.9348,2,,2016-11-15 14:17:31 CST,2/718109,24654603,WARNING,01000,"args: {""parent"": ""t4"", ""parttype"": ""2"", ""partition"": ""t4_7"", ""range_max"": ""2017-03-01 00:00:00"", ""range_min"": ""2017-02-01 00:00:00""}",,,,,"SQL statement ""SELECT public.invoke_on_partition_created_callback(parent_relid,
v_child_relname::REGCLASS,
v_init_callback,
start_value,
end_value)""
PL/pgSQL function create_single_range_partition(regclass,anyelement,anyelement,text,text) line 75 at PERFORM
SQL statement ""SELECT part::regclass FROM public.create_single_range_partition($1, $2, $3) AS part""",,,,""
2016-11-15 14:17:31.948 CST,,,37704,,582aa87b.9348,3,,2016-11-15 14:17:31 CST,2/718109,24654603,LOG,00000,"create_partitions_internal(): relation ""public.t4_7"" does not exist [37704]",,,,,,,,,""
2016-11-15 14:17:31.981 CST,"postgres","liang",13164,"[local]",582aa128.336c,13,"INSERT",2016-11-15 13:46:16 CST,4/124512,24654602,ERROR,XX000,"Attempt to spawn new partitions of relation ""t4"" failed",,"See server log for more details.",,,,"insert into t4 values ('20171101');",,,"psql"
Metadata
Metadata
Assignees
Labels
No labels