create role portal with superuser password 'portal'
当我尝试使用门户用户登录postgres时,在rails中出现以下错误。
FATAL: role "portal" is not permitted to log in
我无法跟踪发生的事情。
我当然可以使用login命令更改用户以使门户网站用户能够登录。我想了解为什么超级用户无法登录。
#1 楼
您未指定LOGIN
权限:ALTER ROLE portal WITH LOGIN;
如果使用
CREATE USER
而不是CREATE ROLE
,则会自动授予LOGIN
权限;否则,您必须在WITH
语句的CREATE
子句中指定它。超级用户本身并不具有
LOGIN
权限;仍将为此权限的超级用户执行权限检查。这样做的原因是,您可以拥有一个超级用户角色,您可以将该角色连接到SET ROLE
,但不能直接连接。#2 楼
CREATE ROLE 'portal' WITH LOGIN SUPERUSER PASSWORD 'portal';
评论
欢迎光临本站!您的答案缺乏解释-如果环顾四周,好的答案不仅会告诉您做什么,而且还会告诉您这样做的原因。考虑到这一点,您的答案会给Craig的答案带来什么?
– dezso
2015年9月7日在8:19
评论
因为角色永远无法登录。如果您想要可以登录的内容,则应该使用create user。@a_horse_with_no_name确切地说,角色和用户之间没有区别,但CREATE ROLE和CREATE USER之间没有区别,请参见Craig的答案。