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

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

Как?
...
Рейтинг: 0 / 0
Как дать юзеру права в базе?
    #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
Как дать юзеру права в базе?
    #39551857
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

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


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