From: | shaun <savages(at)mozapps(dot)org> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | CREATE USER in side a TRIGGER FUNCTION |
Date: | 2005-04-15 03:30:02 |
Message-ID: | 425F353A.6060700@mozapps.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi
I want to put login and user managment into the database for security
reasons. I have a employee table. When I add a person to the employee
table I want to create them in the database and when I remove a person I
want to drop the person from the database also. How do you do it and
what is wrong the the following code?
shaun
here is the add person trigger.
CREATE FUNCTION insuser () RETURNS TRIGGER AS
'BEGIN
IF NEW.role = ''clerk'' THEN
EXECUTE CREATE USER NEW.login IN GROUP gp_clerk;
ELSIF NEW.role = ''medic'' THEN
EXECUTE CREATE USER NEW.login IN GROUP gp_medic;
ELSIF NEW.role = ''super'' THEN
CREATE USER NEW.login IN GROUP gp_super;
ELSIF NEW.role = ''admin'' THEN
CREATE USER NEW.login CREATEUSER IN GROUP gp_admin;
ELSIF NEW.role = ''maint'' THEN
CREATE USER NEW.login CREATEUSER IN GROUP gp_maint;
END IF;
RETURN NEW;
END;'
LANGUAGE plpgsql;
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2005-04-15 05:25:08 | Re: row-attribute in EXPLAIN-output doesn't match count(*) |
Previous Message | Tom Lane | 2005-04-14 23:26:09 | Re: row-attribute in EXPLAIN-output doesn't match count(*) |