Я создал суперпользовательский портал с помощью следующей команды
create role portal with superuser password 'portal'
Когда я пытался войти в postgres с пользователем портала, я получаю следующую ошибку в rails.
FATAL: role "portal" is not permitted to log in
Я не могу следить за тем, что происходит.
конечно, я могу изменить пользователя с помощью команды входа в систему, чтобы позволить пользователю портала войти в систему. Я хотел бы понять, почему супер пользователь не может войти.
postgresql
Antony
источник
источник
role
никогда не может войти в систему. Вы должны были использовать,create user
если хотите что-то, что может войти в систему.CREATE ROLE
иCREATE USER
, см. ответ Крейга.Ответы:
Вы не указали
LOGIN
право:Если вы используете
CREATE USER
вместоCREATE ROLE
наLOGIN
право предоставляется автоматически; в противном случае вы должны указать это вWITH
пунктеCREATE
заявления.Суперпользователи по своей сути не имеют
LOGIN
права; проверка прав доступа все еще выполняется для суперпользователя на это право. Причина этого в том, что вы можете иметь роль суперпользователя, к которой вы можетеSET ROLE
, но не можете быть подключены как напрямую.источник
источник