powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вопрос по привилегиям
11 сообщений из 11, страница 1 из 1
вопрос по привилегиям
    #39156586
bobanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Подскажите, как посмотреть какие привилегии есть у пользователя? Есть ли аналог MySql-евского SHOW GRANTS или в каких таблицах искать?
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39156642
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobanman,

Прямого аналога нет.

Если пользуетесь `psql`, то:
`\du` покажет список (пользователей, включая предоставленные роли для каждого (если есть)

`\dp` покажет права доступа к объектам (в виде ACL )

`\ddp` покажет умолчательные права для вновь создаваемых объектов


Если через SQL, то:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
-- предоставленные роли
SELECT * FROM information_schema.applicable_roles WHERE grantee=session_user;

-- привилегии на таблицы
SELECT * FROM information_schema.role_table_grants WHERE grantee=session_user;

-- привилегии на колонки
SELECT * FROM information_schema.role_column_grants WHERE grantee=session_user;

-- привилегии на функции
SELECT * FROM information_schema.role_routine_grants WHERE grantee=session_user;

-- привилегии на использование (базы, схемы, последовательности)
SELECT * FROM information_schema.role_usage_grants WHERE grantee=session_user;
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157419
bobanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот такую привилегию где искать?

Код: sql
1.
GRANT CONNECT ON DATABASE test TO user;
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157502
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobanmanА вот такую привилегию где искать?
Код: sql
1.
GRANT CONNECT ON DATABASE test TO user;


В `psql` через `\l`.

В SQL через
Код: sql
1.
select datacl from pg_database where datname='test';


P.S. В information_schema не нашел :(
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157650
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovP.S. В information_schema не нашел :(
Виктор, просто это не входит в стандарт, потому и нет:
"Privileges on databases, tablespaces, schemas, and languages are PostgreSQL extensions."
Последнее предложение
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157683
bobanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
GRANT USAGE ON SCHEMA test TO user;
GRANT SELECT ON ALL TABLES IN SCHEMA test TO user;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA test TO user;



А вот эти где искать?
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157705
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobanman
Код: sql
1.
2.
3.
GRANT USAGE ON SCHEMA test TO user;
GRANT SELECT ON ALL TABLES IN SCHEMA test TO user;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA test TO user;


А вот эти где искать?
Да я же отвечал вроде. Может пора что-то уже попробовать?

В SQL — таблицы через `role_table_grants`, схемы и последовательности через `role_usage_grants`.
В psql — через `\dn`, `\dt`, `\ds`.
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157791
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привелегии на схемы это также расширение PostgreSQL, поэтому их не должно быть в information_schema.

Искать в select nspname, nspacl from pg_namespace;
или команда psql: \dn+
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39157868
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЛузановПросто это не входит в стандарт, потому и нет:
"Privileges on databases, tablespaces, schemas, and languages are PostgreSQL extensions."
Последнее предложение

Ну да — вроде всё упомянуто, но найти эти деталюшки порой так сложно...
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39158023
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovНу да — вроде всё упомянуто, но найти эти деталюшки порой так сложно...
+1
...
Рейтинг: 0 / 0
вопрос по привилегиям
    #39160358
bobanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot vyegorov]bobanmanА вот такую привилегию где искать?
Код: sql
1.
GRANT CONNECT ON DATABASE test TO user;


В `psql` через `\l`.

В SQL через
Код: sql
1.
select datacl from pg_database where datname='test';



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


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