powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Юзеры, группы, роли, логины
7 сообщений из 7, страница 1 из 1
Юзеры, группы, роли, логины
    #39287686
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я знаю по теме, как это устроено в SQL Server.
Как устроен этот механизм в PostgreSQL?
Так же как и в SQL Server или есть принципиальные отличия?
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39287750
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Я не знаю как это устроено в MS-SQL, да это и не важно. Главное — соответствие SQL стандарту (IMHO).
В ПЖ всё что отличается от SQL стандарта описано в документации .
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39288204
pg_role
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

В SQL Server есть серверные логины и пользователи бд. Т.е. чтобы дать права логину пользоваться базой, надо создать в этой базе пользователя (или смаппить логин на существующего пользователя) и раздать пользователю права. Также пользователь бд может существовать без логина.

В ПГ, если проводить аналогию с SQL Server'ом, есть только серверные логины, они же роли. Чтобы позволить такой роли пользоваться базой, надо дать права на коннект к базе(
Код: plsql
1.
grant connect on database <db_name> to <role_name>;

), хотя по умолчанию права на коннект к любой базе есть у роли public.

В ПГ нет пользователей БД.
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39288218
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pg_roleРолг Хупин,

В SQL Server есть серверные логины и пользователи бд. Т.е. чтобы дать права логину пользоваться базой, надо создать в этой базе пользователя (или смаппить логин на существующего пользователя) и раздать пользователю права. Также пользователь бд может существовать без логина.

В ПГ, если проводить аналогию с SQL Server'ом, есть только серверные логины, они же роли. Чтобы позволить такой роли пользоваться базой, надо дать права на коннект к базе(
Код: plsql
1.
grant connect on database <db_name> to <role_name>;

), хотя по умолчанию права на коннект к любой базе есть у роли public.

В ПГ нет пользователей БД.

и если я хочу по дизайну дать права на выполнение функций и на I/U/D/S для таблиц в базе всем ролям(юзерам) - я могу сделать
grant ... to public;
так?
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39288265
pg_role
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

да, если надо дать доступ всем к таблицам, то можно дать его роли public.

Что касается функций: в SQL Server можно создать функцию/процедуру, которая будет обращаться к нескольким таблицам. Доступ к таблицам будет осуществляться от имени владельца функции/процедуры, или от имени того, кто указать в параметре with execute as...

В ПГ, помимо прав на выполнение функции, также необходимы права на доступ к таблицам, которые использует функция. Зато, для представлений, как раз наоборот, доступ к таблицам в представлении, при выборке, осуществляется от имени владельца представления.
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39288295
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pg_role,

гм . курим SECURITY INVOKER|DEFINER .
...
Рейтинг: 0 / 0
Юзеры, группы, роли, логины
    #39288518
pg_role
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

да, про это забыл, спасибо, но все же, по умолчанию поведение в части функций отличается от SQL Server'a
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Юзеры, группы, роли, логины
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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