Роли в PostgreSQL — это глобальный объект кластера, позволяющий управлять доступом к базам данных. При создании роли можно задать атрибуты: LOGIN (разрешение подключения), SUPERUSER (права администратора), CREATEROLE (возможность создавать роли), CREATEDB (создание баз данных). Роли можно включать в другие (групповые роли) через GRANT, что позволяет делегировать права. Пример: роль DBA с правами администратора может быть назначена пользователю Алиса. Также можно временно переключаться между ролями с помощью SET ROLE и возвращать исходные права через RESET ROLE. Владельцем объекта становится создающая его роль, а права владельца наследуются включенными ролями. Удаление роли невозможно, если она владеет объектами.