Kind people,
Here's something I came up with for finding whether a PostgreSQL 7.4
user is in a group.
Cheers,
D
CREATE OR REPLACE FUNCTION in_group (text, text) RETURNS BOOLEAN AS '
DECLARE the_user ALIAS FOR $1; the_group ALIAS FOR $2; dummy text; -- SELECT INTO dummy because PERFORM always
returnstrue. -- Is this a bug?
BEGIN SELECT INTO dummy u.usename FROM pg_user u , pg_group g WHERE u.usename = the_user AND
g.groname= the_group AND u.usesysid = ANY (g.grolist);
IF FOUND THEN RETURN true; ELSE RETURN false; END IF;
END;
' LANGUAGE 'plpgsql' STRICT IMMUTABLE;
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 cell: +1 415 235 3778