SHOW DATABASE ROLES

지정된 데이터베이스의 모든 데이터베이스 역할을 나열합니다.

중요

활성 데이터베이스에 대한 권한(예: USAGE)이 부여된 활성 역할을 가진 사용자는 데이터베이스의 데이터베이스 역할을 나열할 수 있습니다. 하지만 이것이 꼭 사용자가 역할을 통해 데이터베이스 역할을 사용하여 SQL 작업을 수행할 수 있다는 의미는 아닙니다. 데이터베이스 역할을 사용하려면 먼저 사용자가 사용자 세션에서 활성화할 수 있는 계정 역할이나 계층 구조에서 더 낮은 계정 역할에 데이터베이스 역할을 부여해야 합니다.

이는 임의적 액세스 제어와 역할 기반 액세스 제어의 일부입니다. 자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.

참고 항목:

SHOW GRANTS , CREATE DATABASE ROLE , ALTER DATABASE ROLE , DROP DATABASE ROLE

구문

SHOW DATABASE ROLES IN DATABASE <name>
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

필수 매개 변수

name

데이터베이스의 이름을 지정합니다.

이름 식별자를 지정하지 않으면 이 명령을 실행할 때 오류가 반환됩니다.

선택적 매개 변수

LIMIT rows [ FROM 'name_string' ]

반환되는 최대 행 수를 선택적으로 제한하는 동시에, 결과의 “페이지 매김”도 활성화합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.

선택적 FROM 'name_string' 하위 절은 사실상 결과에 대한 “커서” 역할을 합니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.

  • 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

  • 부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.

기본값: 값 없음(출력에 제한이 적용되지 않음)

참고

FROM 'name_string'STARTS WITH 'name_string' 절을 모두 지원하는 SHOW 명령의 경우 동일한 문에서 이러한 절을 모두 결합할 수 있습니다. 하지만 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다.

또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로, FROM 'name_string'STARTS WITH 'name_string' 에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.

예:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 이 명령은 특정 데이터베이스의 데이터베이스 역할 표시만 지원합니다.

    이 명령을 사용하여 계정의 데이터베이스 역할을 표시할 수 없습니다.

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • 이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.

  • MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.

  • 이 명령의 출력을 후처리하기 위해 파이프 연산자 (->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.

    이 명령의 출력 열 이름은 소문자로 생성됩니다. 파이프 연산자 또는 RESULT_SCAN 함수와 함께 이 명령의 결과 세트를 사용하는 경우 쿼리의 열 이름에 큰따옴표로 묶인 식별자 를 사용하여 스캔된 출력의 열 이름과 일치하도록 합니다. 예를 들어, 출력 열의 이름이 type 인 경우 식별자에 대해 "type" 을 지정합니다.

db_role2 라는 첫 번째 데이터베이스 역할 다음에 mydb 라는 데이터베이스에서 최대 10개의 데이터베이스 역할을 반환합니다.

SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';
Copy