

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# SHOW DATABASES
<a name="r_SHOW_DATABASES"></a>

Data Catalog 또는 Amazon Redshift 데이터 웨어하우스의 데이터베이스를 표시합니다. SHOW DATABASES는 데이터 웨어하우스 내의 데이터베이스, AWS Glue Data Catalog 데이터베이스(awsdatacatalog), 데이터 공유 데이터베이스 및 Lake Formation 데이터베이스와 같이 액세스 가능한 모든 데이터베이스를 나열합니다.

## 필수 권한
<a name="r_SHOW_DATABASES-privileges"></a>

다음을 제외한 모든 데이터베이스가 사용자에게 표시됩니다.
+ 볼 수 있는 권한이 있는 데이터 공유에서 생성된 데이터베이스의 경우 현재 사용자에게 데이터베이스에 대한 USAGE 권한을 부여해야 합니다.

## 구문
<a name="r_SHOW_DATABASES-syntax"></a>

Amazon Redshift 데이터 웨어하우스의 데이터베이스를 표시하는 방법:

```
SHOW DATABASES 
[ LIKE '<expression>' ]
[ LIMIT row_limit ]
```

Data Catalog의 데이터베이스를 표시하는 방법:

```
SHOW DATABASES FROM DATA CATALOG 
[ ACCOUNT  '<id1>', '<id2>', ... ]
[ LIKE '<expression>' ]
[ IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ]
[ LIMIT row_limit ]
```

## 파라미터
<a name="r_SHOW_DATABASES-parameters"></a>

계정 '<id1>', <id2>',...  
데이터베이스를 나열할 AWS Glue Data Catalog 계정입니다. 이 파라미터를 생략하면 Amazon Redshift에서 클러스터를 소유한 계정의 데이터베이스를 표시한다는 의미입니다.

LIKE '<expression>'  
지정한 표현식과 일치하는 기준으로 데이터베이스 목록을 필터링합니다. 이 파라미터는 와일드카드 문자 %(백분율) 및 \$1(밑줄)를 사용하는 패턴을 지원합니다.

IAM\$1ROLE default \$1 'SESSION' \$1 'arn:aws:iam::<account-id>:role/<role-name>'  
SHOW DATABASES 명령을 실행할 때 클러스터와 연결된 IAM 역할을 지정하면 데이터베이스에서 쿼리를 실행할 때 Amazon Redshift가 해당 역할의 보안 인증 정보를 사용합니다.  
`default` 키워드를 지정한다는 것은 기본값으로 설정되어 클러스터와 연결된 IAM 역할을 사용한다는 의미입니다.  
페더레이션 자격 증명을 사용하여 Amazon Redshift 클러스터에 연결하고 [데이터베이스 생성](r_CREATE_DATABASE.md) 명령을 사용하여 생성된 외부 스키마에서 테이블에 액세스하는 경우에 `'SESSION'`을 사용합니다. 페더레이션 ID 사용의 예를 보려면 페더레이션형 ID 구성 방법이 설명된 [페더레이션형 ID를 사용하여 로컬 리소스 및 Amazon Redshift Spectrum 외부 테이블에 대한 Amazon Redshift 액세스 관리](https://docs.aws.amazon.com/redshift/latest/mgmt/authorization-fas-spectrum.html) 섹션을 참조하세요.  
클러스터가 인증 및 권한 부여에 사용하는 IAM 역할의 Amazon 리소스 이름(ARN)을 사용합니다. 최소 IAM 역할은 액세스되는 Amazon S3 버킷에서 LIST 작업을 수행하고 버킷에 포함된 Amazon S3 객체에 대한 GET 작업을 수행할 수 있는 권한이 있어야 합니다. 데이터 공유를 위해 AWS Glue Data Catalog를 사용하여 데이터베이스를 생성하고 IAM\$1ROLE을 사용하는 방법에 대해 자세히 알아보려면 [소비자로서 Lake Formation에서 관리하는 데이터 공유 사용](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-consumer.html)을 참조하세요.  
다음은 단일 ARN에 대한 IAM\$1ROLE 파라미터의 구문을 보여줍니다.  

```
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'
```
역할을 함께 묶어 클러스터가 다른 계정에 속한 다른 IAM 역할을 수임하도록 할 수 있습니다. 최대 10개의 역할을 함께 묶을 수 있습니다. 자세한 내용은 [Amazon Redshift Spectrum에서 IAM 역할 연결](c-spectrum-iam-policies.md#c-spectrum-chaining-roles) 섹션을 참조하세요.  
 이 IAM 역할에 다음과 유사한 IAM 권한 정책을 연결합니다.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessSecret",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        }
    ]
}
```
연합 쿼리에 사용할 IAM 역할을 생성하는 단계는 [연합 쿼리 사용을 위해 비밀 및 IAM 역할 생성](federated-create-secret-iam-role.md) 섹션을 참조하세요.  
연결된 역할 목록에 공백을 포함하지 마세요.
다음은 세 역할을 함께 묶기 위한 구문을 나타낸 것입니다.  

```
IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>'
```

LIMIT *row\$1limit*  
반환되는 행의 수를 제한하는 절입니다. 여기서 *row\$1limit*은 반환할 최대 행 수입니다. **row\$1limit는 0\$110,000일 수 있습니다.

## 예제
<a name="r_SHOW_DATABASES-examples"></a>

다음 예는 계정 ID 123456789012의 모든 데이터 카탈로그 데이터베이스를 표시합니다.

```
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012'

  catalog_id  | database_name |                        database_arn                    |     type     |                                             target_database                                      | location | parameters
--------------+---------------+--------------------------------------------------------+--------------+--------------------------------------------------------------------------------------------------+----------+------------
 123456789012 |   database1   | arn:aws:glue:us-east-1:123456789012:database/database1 | Data Catalog |                                                                                                  |          |
 123456789012 |   database2   | arn:aws:glue:us-east-1:123456789012:database/database2 | Data Catalog | arn:aws:redshift:us-east-1:123456789012:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/database2 |          |
```

다음 예는 IAM 역할의 보안 인증 정보를 사용하여 계정 ID 123456789012의 모든 데이터 카탈로그 데이터베이스를 표시하는 방법을 보여줍니다.

```
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE default;
```

```
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE <iam-role-arn>;
```

다음 예시에서는 연결된 Amazon Redshift 데이터 웨어하우스의 모든 데이터베이스를 표시합니다.

```
SHOW DATABASES

database_name  | database_owner | database_type        | database_acl | parameters | database_isolation_level
---------------+----------------+----------------------+--------------+------------+--------------------
awsdatacatalog | 1              | auto mounted catalog | NULL         | UNKNOWN    | UNKNOWN
dev            | 1              | local                | NULL         | NULL       | Snapshot Isolation
```