CREATE USER in side a TRIGGER FUNCTION

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;

Responses

Browse pgsql-sql by date

  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(*)