> Hi > > I have the following plpgsql function that works: > > DROP TYPE if exists distr CASCADE; > CREATE TYPE distr AS (b bigint, var varchar); > > DROP FUNCTION IF EXISTS dist() cascade; > > CREATE or replace FUNCTION dist() RETURNS setof distr > AS $$ begin > return query EXECUTE 'Select count(*) as b, cast(mostype as varchar) > as var from segmentation group by mostype'; > end $$ LANGUAGE 'plpgsql' VOLATILE; > ; > > select * from dist(); > > When I try to make it dynamic, I get the error: > > ERROR: column "mostype" does not exist > > DROP TYPE if exists distr CASCADE; > CREATE TYPE distr AS (b bigint, var varchar); > > DROP FUNCTION IF EXISTS dist(text) cascade; > > CREATE or replace FUNCTION dist(text) RETURNS setof distr > AS $$ begin > return query execute 'Select count(*) as b, cast( ' || > quote_ident($1) || ' as varchar) as var from segmentation group by ' > || quote_ident($1); > end $$ LANGUAGE 'plpgsql' VOLATILE; > ; > > select dist(mostype);