Re: confused by superuser-definition
От | |
---|---|
Тема | Re: confused by superuser-definition |
Дата | |
Msg-id | 65124.216.238.112.88.1086095156.squirrel@$HOSTNAME обсуждение исходный текст |
Ответ на | Re: confused by superuser-definition (Richard Huxton <dev@archonet.com>) |
Список | pgsql-general |
> zuhans@iname.com wrote: >> hello, >> >> i'm rather new to postgresql and am now standing in front of a big >> problem. >> >> if i want to host my database on any provider out there, i don't now >> see any chance to get my own right to insert new users into my db. >> because: i'd only be able to do this, when i had the rights to >> "createuser", but that would mean, that i'd have the >> superuser-rights for the whole db's in "public" - if there is only >> this base-schema. >> >> do i understand this right? No. -- Function: create_user(name) CREATE OR REPLACE FUNCTION create_user(name) RETURNS bool AS ' DECLARE PWD VARCHAR; CMD VARCHAR; BEGIN PWD := \'INITIALPWD\'; IF EXISTS(SELECT * FROM pg_user WHERE usename = $1) THEN RETURN FALSE; END IF; CMD := \'CREATE USER "\' || $1 || \'" WITH ENCRYPTED PASSWORD \' || PWD\'; EXECUTE CMD; RETURN TRUE; END; ' LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER; -- Note: "SECURITY DEFINER". This function was created by a user that does have create user privileges. --Berend Tober
В списке pgsql-general по дате отправления: