SET SESSION AUTHORIZATION — 세션 사용자 식별자와 현재 세션의 현재 사용자 식별자를 설정합니다.
사설 토토 [ 세션 | 로컬] 세션 승인사용자_이름사설 토토 [ 세션 | 로컬 ] 세션 승인 기본값
세션 승인 재사설 토토
이 명령은 세션 사용자 식별자와 현재 SQL 세션의 현재 사용자 식별자를 다음과 같이 설정합니다.사용자_이름. 사용자 이름은 식별자 또는 문자열 리터럴로 기록될 수 있습니다. 예를 들어 이 명령을 사용하면 일시적으로 권한 없는 사용자가 되었다가 나중에 다시 슈퍼유저로 전환할 수 있습니다.
세션 사용자 식별자는 처음에 클라이언트가 제공한 (인증된) 사용자 이름으로 설정됩니다. 현재 사용자 식별자는 일반적으로 세션 사용자 식별자와 동일하지만 다음과 같은 상황에서 일시적으로 변경될 수 있습니다.보안 정의자기능 및 유사한 메커니즘; 다음으로 변경할 수도 있습니다.역할 사설 토토. 현재 사용자 식별자는 권한 확인과 관련이 있습니다.
세션 사용자 식별자는 초기 세션 사용자(인증된 사용자)에는 슈퍼유저 권한이 있습니다. 그렇지 않으면 인증된 사용자 이름을 지정하는 경우에만 명령이 허용됩니다.
그세션그리고로컬수식자는 일반과 동일하게 작동합니다SET명령.
그기본값그리고리셋양식은 세션 및 현재 사용자 식별자를 원래 인증된 사용자 이름으로 재설정합니다. 이 양식은 모든 사용자가 실행할 수 있습니다.
세션 승인 사설 토토a 내에서는 사용할 수 없습니다.보안 정의자함수.
세션_사용자 선택, CURRENT_USER; 세션_사용자 | 현재_사용자 ------------+--------------- 피터 | 피터 세션 권한 설정 'paul'; SESSION_USER, CURRENT_USER 선택; 세션_사용자 | 현재_사용자 ------------+--------------- 폴 | 폴
SQL 표준은 리터럴 대신에 다른 표현식이 나타나는 것을 허용합니다.사용자_이름, 그러나 이러한 옵션은 실제로 중요하지 않습니다.PostgreSQL식별자 구문 허용("), SQL에서는 그렇지 않습니다. SQL은 트랜잭션 중에 이 명령을 허용하지 않습니다.PostgreSQL이유가 없기 때문에 이 제한을 두지 않습니다.사용자 이름"세션그리고로컬수식자는 aPostgreSQL확장, 그대로리셋구문.
이 명령을 실행하는 데 필요한 권한은 표준에 따라 구현 정의되어 있습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.