Что такое РОЛИ в PostgreSQL?
объясните, пожалуйста, смысл ролей в постгрес 
Пользователь - это алиас для системы ролей.необходимо создать базу данных с тем же именем, что и имя роли, к которой можно будет осуществлять доступ с помощью этой роли
Это ложь. Необходимости нет.Поэтому для созданного нами ранее пользователя с именем sammy соответствующая роль будет по умолчанию пытаться соединиться с базой данных sammy
А это верно. Но только если имя базы для подключения не переопределено, например, переменной окружения PGDATABASE. Ну и конечно его можно просто задавать аргументом подключения.можно ли так: несколько ролей и одна база данных?
Разумеется. Хоть дерево со множественным наследованием ролей.
Только важный момент - роли глобальны в пределах кластера. Вы не можете сделать пользователя user в базе foo с одним паролем и пользователя user в базе bar с другим паролем. А вот дать readonly на одну базу и полные права на другую - это пожалуйста.
Несколько полезных разделов про роли:
https://postgrespro.ru/docs/postgresql/9.4/user-ma...