Karen Hill wrote:
How do I make this function work?  I am trying to get all the rolnames
from pg_roles.


Why not just do "SELECT rolname FROM pg_roles;"?

Anyway, in PL/pgSQL:

CREATE OR REPLACE FUNCTION test() RETURNS SETOF name AS $$
  DECLARE
    rec  record;
  BEGIN
    FOR rec IN SELECT rolname FROM pg_roles LOOP
      RETURN NEXT rec.rolname;
    END LOOP;
  END;
$$ LANGUAGE plpgsql;

And simpler as an SQL function (although, again, why bother?):

CREATE OR REPLACE FUNCTION test_sql() RETURNS SETOF name AS $$
    SELECT rolname FROM pg_roles
$$ LANGUAGE sql;

HTH,

Joe

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to