On Wed, 5 Feb 2020 at 10:48, Raul Kaubi <raulkaubi@xxxxxxxxx> wrote:
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
You're returning rows from the cursor.
You need to use i.col1 instead of i.
Geoff