On Wed, 5 Feb 2020 at 10:48, Raul Kaubi <raulka...@gmail.com> 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