Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как дать юзеру права в базе? / 3 сообщений из 3, страница 1 из 1
12.11.2017, 19:31
    #39551783
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать юзеру права в базе?
Было: приложение работало под postgres, который является оунером
Надо: создал новго юзера и хотелось бы, чтобы он имел права:

На select,update,delete,insert на все таблицы
select на все вью
выполнение всех функций
создание временных таблиц в функциях

Как?
...
Рейтинг: 0 / 0
12.11.2017, 19:44
    #39551787
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать юзеру права в базе?
Сделал так, покритикуйте, если что упустил:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO newuser;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO newuser;
--GRANT ALL PRIVILEGES ON ALL VIEWS IN SCHEMA public TO newuser;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO newuser;

CREATE OR REPLACE FUNCTION fn_grant_all_views(schema_name TEXT, role_name TEXT)
RETURNS VOID AS $func$

DECLARE view_name TEXT;

BEGIN

  FOR view_name IN
    SELECT viewname FROM pg_views WHERE schemaname = schema_name
  LOOP
    EXECUTE 'GRANT ALL PRIVILEGES ON ' || schema_name || '.' || view_name || ' TO ' || role_name || ';';
  END LOOP;

END; $func$ LANGUAGE PLPGSQL

SELECT fn_grant_all_views('public','newuser');
...
Рейтинг: 0 / 0
12.11.2017, 22:37
    #39551857
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как дать юзеру права в базе?
Ролг Хупин,

ALTER DEFAULT PRIVILEGES
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как дать юзеру права в базе? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]