Новые возможности ролевой модели СУБД Pangolin 7.1
В ядрах PostgreSQL 16 и 17 были внесены значимые изменения в ролевую модель, которые также включены в СУБД Pangolin 7.1.0.
CREATEROLE с ограничениями
Пользователи с атрибутом CREATEROLE теперь могут управлять только ролями, которые:
- были созданы ими (только для удаления таких ролей);
- для которых им предоставлено право
ADMIN OPTION(для изменения атрибутов или управления членством).
Расширенные опции GRANT
Система управления правами (GRANT) получила расширенную поддержку опций:
GRANT ... WITH ADMIN OPTION— требуется обязательно для передачи роли другим пользователям;GRANT WITH INHERIT— определяет, наследуется ли роль при входе в другую;GRANT WITH ADMIN TRUE/FALSE— допустимая форма синтаксиса, наряду сGRANT WITH ADMIN OPTION;GRANT <роль> TO <роль> SET— определяет, можно ли временно активировать роль черезSET ROLE;GRANT MAINTAIN— предоставляет право на обслуживание объектов без необходимости владения ими;GRANT { SET | ALTER SYSTEM } ON PARAMETER— управляет параметрами конфигурации на уровне сеанса или всей СУБД. Используется для параметров с контекстом суперпользователя (context=superuser).
Опция MAINTAIN охватывает выполнение таких операций, как VACUUM, ANALYZE, REINDEX, REFRESH MATERIALIZED VIEW, CLUSTER и LOCK TABLE.
Предопределенные роли
Добавлены встроенные роли, упрощающие делегирование часто используемых привилегий:
pg_use_reserved_connections— разрешает подключение при исчерпании лимита соединений;pg_maintain— предоставляет универсальные права на обслуживание всех объектов без необходимости использованияGRANT;pg_create_subscription— новая роль с правом создания подписок для логической репликации.
Многократное назначение членства
Поддерживается многократное членство пользователей в одной и той же роли с различными привилегиями, предоставленными от разных праводателей. Ранее при новом назначении членства в роли предыдущая запись о назначении удалялась, даже если остальные параметры при назначении отличались.