|
Создание логина из триггера
|
|||
---|---|---|---|
#18+
Коллеги, помогите пожалуйста : нужно при добавлении строчки в табличку создать логин на сервере, ну и дальше пустить его в роль по базе. Не выходит, ругается мне... Собственно, триггер таков : -- FUNCTION: public.add_login() -- DROP FUNCTION public.add_login(); CREATE FUNCTION public.add_login() RETURNS trigger LANGUAGE 'plpgsql' COST 100 VOLATILE NOT LEAKPROOF AS $BODY$ BEGIN EXECUTE 'CREATE USER $1 WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD $2;' USING quote_ident(NEW."UserLogin"), quote_ident(NEW."Password"); END; $BODY$; ALTER FUNCTION public.add_login() OWNER TO postgres; GRANT EXECUTE ON FUNCTION public.add_login() TO dev; GRANT EXECUTE ON FUNCTION public.add_login() TO PUBLIC; GRANT EXECUTE ON FUNCTION public.add_login() TO postgres; ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 17:09 |
|
Создание логина из триггера
|
|||
---|---|---|---|
#18+
Да, сама табличка такова : INSERT INTO public."Logins"( "Id", "Password", "Role", "UserLogin") VALUES ('b88c84a1-d380-484a-b061-2e359301b2a5', 'pwd', 'role', 'user'); ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 17:14 |
|
Создание логина из триггера
|
|||
---|---|---|---|
#18+
NX, Идея описать запросы и все что угодно кроме собственно сообщения о ошибке - она была удачной. Но телепаты увы в отпуске все. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 21:01 |
|
Создание логина из триггера
|
|||
---|---|---|---|
#18+
Вчера с телефона был, не мог ошибку показать :) В итоге рабочий код триггера: BEGIN EXECUTE 'CREATE ROLE '|| quote_ident(NEW."UserLogin") || ' WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD ''' || quote_ident(NEW."Password") || ''';'; RETURN NULL; END; ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 12:35 |
|
Создание логина из триггера
|
|||
---|---|---|---|
#18+
NXВчера с телефона был, не мог ошибку показать :) В итоге рабочий код триггера: BEGIN EXECUTE 'CREATE ROLE '|| quote_ident(NEW."UserLogin") || ' WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD ''' || quote_ident(NEW."Password") || ''';'; RETURN NULL; END; т.е. типа сегодня уже ошибку показал ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:02 |
|
|
start [/forum/topic.php?fid=53&msg=39687016&tid=1995632]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
137ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 238ms |
0 / 0 |