수퍼 유저는 로그인 할 수 없습니다


32

다음 명령으로 수퍼 유저 포털을 만들었습니다.

create role portal with superuser password 'portal'

포털 사용자로 postgres에 로그인하려고 할 때 레일에 다음과 같은 오류가 발생합니다.

FATAL:  role "portal" is not permitted to log in

나는 무슨 일이 일어나고 있는지 따를 수 없습니다.

물론 포털 사용자가 로그인 할 수 있도록 login 명령으로 사용자를 변경할 수 있습니다. 슈퍼 유저가 로그인 할 수없는 이유를 알고 싶습니다.


2
role로그인 할 수 없기 때문에 . 로그인 할 수 create user있는 것을 원하면 사용 했어야합니다 .
a_horse_with_no_name

1
@a_horse_with_no_name는 역할과 사용자 사이에 차이가 없지만, 사이가, 정확하게하는 방법 CREATE ROLECREATE USER, 크레이그의 답변을 참조하십시오.
dezso

답변:


57

LOGIN권리를 지정하지 않았습니다 :

ALTER ROLE portal WITH LOGIN;

당신이 사용하는 경우 CREATE USER대신 바로 자동으로 부여됩니다; 그렇지 않으면 명령문 의 절에 지정해야합니다 .CREATE ROLELOGINWITHCREATE

수퍼 유저에게는 본질적으로 LOGIN권리 가 없습니다 . 이 권한에 대한 수퍼 유저에 대한 권한 점검이 여전히 수행됩니다. 그 이유는 수퍼 유저 역할을 수행 할 수 SET ROLE있지만 직접 연결할 수는 없기 때문입니다.


4
CREATE ROLE 'portal' WITH LOGIN SUPERUSER PASSWORD 'portal';

사이트에 오신 것을 환영합니다! 답에는 설명이 부족합니다. 둘러 보면 좋은 답변은 항상 무엇을해야하는지 뿐만 아니라 해야 하는지를 알려줍니다 . 이것을 고려하면 귀하의 답변은 Craig의 답변에 무엇을 추가합니까?
dezso
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.