DO $$ DECLARE cur cursor for select * from (values('logi_web'), ('logi_taustaprotsess')) as q (col1); BEGIN for i in cur LOOP RAISE NOTICE 'create table %_y2020m01 PARTITION OF % FOR VALUES FROM (''2019-12-01'') TO (''2020-01-01'')', i, i; END LOOP; END; $$ LANGUAGE plpgsql;
If I execute, this is the output:
NOTICE: create table (logi_web)_y2020m01 PARTITION OF (logi_web) FOR VALUES FROM ('2019-12-01') TO ('2020-01-01') NOTICE: create table (logi_taustaprotsess)_y2020m01 PARTITION OF (logi_taustaprotsess) FOR VALUES FROM ('2019-12-01') TO ('2020-01-01') DO