CREATE OR REPLACE FUNCTION "public"."insert_table_trigger"()
RETURNS "pg_catalog"."trigger" AS $BODY$
DECLARE date_timeflag TEXT;
DECLARE str_sql TEXT;
BEGIN
date_timeflag := NEW.partition_key;
str_sql := 'INSERT INTO '||TG_RELNAME||'_'|| date_timeflag||' VALUES ($1.*)';
EXECUTE str_sql USING NEW;
RETURN NULL;
EXCEPTION
WHEN UNDEFINED_TABLE
THEN
EXECUTE
'CREATE TABLE IF NOT EXISTS '||TG_RELNAME||'_'
|| date_timeflag
|| '(CHECK (partition_key = '''
|| date_timeflag
|| ''')) INHERITS ('||TG_RELNAME||');' ||
'alter table '||TG_RELNAME||'_'|| date_timeflag|| ' add primary key(id);';
EXECUTE str_sql USING NEW;
RETURN NULL;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
dsds
CREATE TRIGGER "insert_trigger" BEFORE INSERT ON "prp_testtable"
FOR EACH ROW
EXECUTE PROCEDURE "public"."insert_table_trigger"();