SET ROLE — 현재 세션의 현재 사용자 식별자 설정
설정 [ 세션 | 로컬 ] 토토 캔토토 캔_이름설정 [ 세션 | 로컬 ] 토토 캔 없음
토토 캔 재설정
이 명령은 현재 SQL 세션의 현재 사용자 식별자를 다음과 같이 설정합니다.토토 캔_이름. 토토 캔 이름은 식별자 또는 문자열 리터럴로 작성할 수 있습니다. 이후토토 캔 설정, SQL 명령에 대한 권한 확인은 명명된 역할이 원래 로그인했던 역할인 것처럼 수행됩니다.
지정된토토 캔_이름현재 세션 사용자가 속한 역할이어야 합니다. (세션 사용자가 슈퍼유저라면 어떤 역할이든 선택할 수 있습니다.)
그세션그리고로컬수식자는 일반과 동일하게 작동합니다.세트명령.
토토 캔 없음 설정현재 사용자 식별자를 다음에서 반환된 현재 세션 사용자 식별자로 설정합니다.session_user. 토토 캔 재설정현재 사용자 식별자를 다음에서 지정한 연결 시간 설정으로 설정합니다.명령줄 옵션, 토토 캔 변경또는데이터베이스 변경, 그러한 설정이 있는 경우. 그렇지 않으면,토토 캔 재설정현재 사용자 식별자를 현재 세션 사용자 식별자로 설정합니다. 이 양식은 모든 사용자가 실행할 수 있습니다.
이 명령을 사용하면 권한을 추가하거나 권한을 제한할 수 있습니다. 세션 사용자 역할에 다음이 있는 경우상속속성인 경우 자동으로 모든 토토 캔의 모든 권한을 갖게 됩니다.토토 캔 설정에; 이 경우에는토토 캔 설정세션 사용자 및 해당 사용자가 속한 다른 역할에 직접 할당된 모든 권한을 효과적으로 삭제하고 명명된 역할에 사용 가능한 권한만 남깁니다. 반면에 세션 사용자 역할에 다음이 있는 경우상속 없음속성,토토 캔 설정세션 사용자에게 직접 할당된 권한을 삭제하고 대신 명명된 역할에 사용 가능한 권한을 얻습니다.
특히, 수퍼유저가 다음을 선택하는 경우토토 캔 설정수퍼유저가 아닌 토토 캔에 대해서는 수퍼유저 권한을 잃게 됩니다.
토토 캔 설정다음과 비슷한 효과가 있습니다세션 승인 설정, 하지만 관련된 권한 확인은 상당히 다릅니다. 또한,세션 승인 설정나중에 허용되는 토토 캔을 결정합니다.토토 캔 설정명령, 반면에 토토 캔 변경토토 캔 설정허용된 역할 세트를 나중에 변경하지 않습니다.토토 캔 설정.
토토 캔 설정역할에 지정된 대로 세션 변수를 처리하지 않습니다.토토 캔 변경설정; 이는 로그인 중에만 발생합니다.
토토 캔 설정a 내에서는 사용할 수 없습니다.보안 정의자함수.
SESSION_USER 선택, CURRENT_USER; 세션_사용자 | 현재_사용자 ------------+--------------- 피터 | 피터 토토 캔 설정 '폴'; SESSION_USER, CURRENT_USER 선택; 세션_사용자 | 현재_사용자 ------------+--------------- 피터 | 폴
포스트그레SQL식별자 구문 허용("), SQL 표준에서는 토토 캔 이름을 문자열 리터럴로 작성해야 합니다. SQL은 트랜잭션 중에 이 명령을 허용하지 않습니다.PostgreSQL이유가 없기 때문에 이 제한을 두지 않습니다.토토 캔명"세션그리고로컬수식자는 aPostgreSQL확장, 그대로리셋구문.