

 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/)을 참조하세요.

# 데이터베이스 객체 생성
<a name="query-editor-v2-object-create"></a>

데이터베이스, 스키마, 테이블 및 사용자 정의 함수(UDF)를 비롯한 데이터베이스 객체를 생성할 수 있습니다. 데이터베이스 객체를 생성하려면 클러스터 또는 작업 그룹과 데이터베이스에 연결되어 있어야 합니다.

## 데이터베이스 생성
<a name="query-editor-v2-object-create-database"></a>

쿼리 편집기 v2를 사용하여 클러스터 또는 작업 그룹에 데이터베이스를 생성할 수 있습니다.

**데이터베이스를 생성하려면**

데이터베이스에 대한 내용은 *Amazon Redshift Database 개발자 안내서*의 [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html)를 참조하세요.

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**생성(Create)**을 선택한 후 **데이터베이스(Database)**를 선택합니다.

1. **데이터베이스 이름(Database name)**을 입력합니다.

1. (선택 사항) **사용자 및 그룹(Users and groups)**을 선택하고 **데이터베이스 사용자(Database user)**를 선택합니다.

1. (선택 사항) 데이터 공유 또는 AWS Glue Data Catalog에서 데이터베이스를 생성할 수 있습니다. AWS Glue에 대한 자세한 내용은 *AWS Glue 개발자 안내서*의 [AWS Glue란 무엇입니까?](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)를 참조하세요.
   + (선택 사항) **데이터 공유를 사용하여 생성**을 선택하고 **데이터 공유 선택**을 선택합니다. 목록에는 현재 클러스터 또는 작업 그룹에서 소비자 데이터 공유를 생성하는 데 사용할 수 있는 생산자 데이터 공유가 포함됩니다.
   + (선택 사항) **AWS Glue Data Catalog를 사용하여 생성**을 선택하고, **AWS Glue 데이터베이스 선택**을 선택합니다. **데이터 카탈로그 스키마**에서 데이터를 참조할 때 스키마에 사용할 이름을 세 부분으로 구성된 이름(database.schema.table)으로 입력합니다.

1. **데이터베이스 생성**을 선택합니다.

   새 데이터베이스가 트리 보기 패널에 표시됩니다.

   데이터 공유에서 생성된 데이터베이스를 쿼리하는 단계를 필요에 따라 선택하는 경우 클러스터 또는 작업 그룹(예: 기본 데이터베이스 `dev`)의 Amazon Redshift 데이터베이스에 연결하고, **데이터 공유를 사용하여 생성**을 선택할 때 만든 데이터베이스 이름을 참조하는 세 부분으로 구성된 표기법(database.schema.table)을 사용합니다. 데이터 공유 데이터베이스는 쿼리 편집기 v2 편집기 탭에 나열되지만 직접 연결할 수 있도록 설정되어 있지 않습니다.

   AWS Glue Data Catalog에서 만든 데이터베이스를 쿼리하는 단계를 필요에 따라 선택하는 경우, 클러스터 또는 작업 그룹(예: 기본 데이터베이스 `dev`)에서 Amazon Redshift 데이터베이스에 연결하고, **AWS Glue Data Catalog를 사용하여 생성**을 선택할 때 만든 데이터베이스 이름, **데이터 카탈로그 스키마**에서 이름을 지정한 스키마 및 AWS Glue Data Catalog의 테이블을 참조하는 세 부분으로 구성된 표기법(database.schema.table)을 사용하세요. 다음과 유사합니다.

   ```
   SELECT * FROM glue-database.glue-schema.glue-table
   ```
**참고**  
연결 메서드 **IAM ID를 사용하여 임시 보안 인증**을 사용하여 기본 데이터베이스에 연결되었는지 그리고 IAM 보안 인증에 AWS Glue에 대한 사용 권한이 부여되었는지 확인합니다.  

   ```
   GRANT USAGE ON DATABASE glue-database to "IAM:MyIAMUser"
   ```

   AWS Glue 데이터베이스는 쿼리 편집기 v2 편집기 탭에 나열되지만 직접 연결할 수 있도록 설정되어 있지 않습니다.

   AWS Glue Data Catalog 쿼리에 대한 자세한 내용은 **Amazon Redshift 데이터베이스 개발자 안내서에서 [소비자로서 레이크 포메이션 관리 데이터 공유로 작업](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-consumer.html) 및 [생산자로서 레이크 포메이션 관리 데이터 공유로 작업](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-producer.html)을 참조하세요.

**데이터 공유 소비자로 데이터베이스 생성 예제**

다음 예에서는 쿼리 편집기 v2를 사용하여 데이터 공유에서 데이터베이스를 만드는 데 사용된 특정 시나리오에 대해 설명합니다. 이 시나리오를 검토하여 사용 중인 환경에서 데이터 공유에서 데이터베이스를 만드는 방법을 알아보세요. 시나리오에서는 `cluster-base`(생산자 클러스터)과 `cluster-view`(소비자 클러스터)라는 두 개의 클러스터를 사용합니다.

1. Amazon Redshift 콘솔을 사용하여 `cluster-base` 클러스터에서 `category2` 테이블에 대한 데이터 공유를 생성합니다. 생산자 데이터 공유의 이름은 `datashare_base`입니다.

   데이터 공유 생성에 대한 자세한 내용은 **Amazon Redshift 데이터베이스 개발자 안내서에서 [Amazon Redshift에서 클러스터 간에 데이터 공유](https://docs.aws.amazon.com/redshift/latest/dg/datashare-overview.html)를 참조하세요.

1. Amazon Redshift 콘솔을 사용하여 `cluster-view` 클러스터에서 `category2` 테이블에 대한 소비자로 데이터셰어 `datashare_base`를 수락합니다.

1. 쿼리 편집기 v2의 트리 뷰 패널에서 `cluster-base`의 계층 구조를 다음과 같이 표시합니다.
   + 클러스터: `cluster-base`
     + 데이터베이스: `dev`
       + 스키마: `public`
         + 테이블: `category2`

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**생성(Create)**을 선택한 후 **데이터베이스(Database)**를 선택합니다.

1. **데이터베이스 이름**에 `see_datashare_base`를 입력합니다.

1. **데이터 공유를 사용하여 생성**을 선택하고 **데이터 공유 선택**을 선택합니다. 생성하려는 데이터베이스의 소스로 사용할 `datashare_base`를 선택합니다.

   쿼리 편집기 v2의 트리 보기 패널에 `cluster-view`의 계층 구조가 다음과 같이 표시됩니다.
   + 클러스터: `cluster-view`
     + 데이터베이스: `see_datashare_base`
       + 스키마: `public`
         + 테이블: `category2`

1. 데이터를 쿼리할 때는 `cluster-view` 클러스터의 기본 데이터베이스(일반적으로 `dev`라는 이름)에 연결하되, SQL에서 데이터 공유 데이터베이스 `see_datashare_base`를 참조하세요.
**참고**  
쿼리 편집기 v2 편집기 뷰에서 선택한 클러스터는 `cluster-view`입니다. 선택한 데이터베이스는 `dev`입니다. 데이터베이스 `see_datashare_base`가 나열되어 있지만 직접 연결할 수 있도록 활성화되어 있지 않습니다. `dev` 데이터베이스를 선택하고 실행하는 SQL에서 `see_datashare_base`를 참조합니다.

   ```
   SELECT * FROM "see_datashare_base"."public"."category2";
   ```

   이 쿼리는 `cluster_base` 클러스터의 데이터 공유 `datashare_base`에서 데이터를 검색합니다.

**AWS Glue Data Catalog에서 데이터베이스 생성 예제**

다음 예에서는 쿼리 편집기 v2를 사용하여 AWS Glue Data Catalog에서 데이터베이스를 만드는 데 사용된 특정 시나리오에 대해 설명합니다. 이 시나리오를 검토하여 사용 중인 환경에서 AWS Glue Data Catalog에서 데이터베이스를 만드는 방법을 알아보세요. 이 시나리오에서는 하나의 클러스터, `cluster-view`를 사용하여 생성한 데이터베이스를 포함합니다.

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**생성(Create)**을 선택한 후 **데이터베이스(Database)**를 선택합니다.

1. **데이터베이스 이름**에 `data_catalog_database`를 입력합니다.

1. **AWS Glue Data Catalog를 사용하여 생성**을 선택하고, **AWS Glue 데이터베이스 선택**을 선택합니다. 생성하려는 데이터베이스의 소스로 사용할 `glue_db`를 선택합니다.

   **데이터 카탈로그 스키마**를 선택하고 세 부분으로 구성된 표기법으로 사용할 스키마 이름으로 `myschema`를 입력합니다.

   쿼리 편집기 v2의 트리 보기 패널에 `cluster-view`의 계층 구조가 다음과 같이 표시됩니다.
   + 클러스터: `cluster-view`
     + 데이터베이스: `data_catalog_database`
       + 스키마: `myschema`
         + 테이블: `category3`

1. 데이터를 쿼리할 때는 `cluster-view` 클러스터의 기본 데이터베이스(일반적으로 `dev`라는 이름)에 연결하되, SQL에서 데이터베이스 `data_catalog_database`를 참조하세요.
**참고**  
쿼리 편집기 v2 편집기 뷰에서 선택한 클러스터는 `cluster-view`입니다. 선택한 데이터베이스는 `dev`입니다. 데이터베이스 `data_catalog_database`가 나열되어 있지만 직접 연결할 수 있도록 활성화되어 있지 않습니다. `dev` 데이터베이스를 선택하고 실행하는 SQL에서 `data_catalog_database`를 참조합니다.

   ```
   SELECT * FROM "data_catalog_database"."myschema"."category3";
   ```

   쿼리는 AWS Glue Data Catalog에 의해 카탈로그화된 데이터를 검색합니다.

## 스키마 생성
<a name="query-editor-v2-object-create-schema"></a>

쿼리 편집기 v2를 사용하여 클러스터 또는 작업 그룹에 스키마를 생성할 수 있습니다.

**스키마를 생성하려면**

스키마에 대한 내용은 *Amazon Redshift Database 개발자 안내서*의 [CREATE SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_Schemas_and_tables.html)를 참조하세요.

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**생성(Create)**을 선택한 다음 **스키마(Schema)**를 선택합니다.

1. **스키마 이름(Schema name)**을 입력합니다.

1. **Local**(로컬) 또는 **External**(외부)을 **Schema type**(스키마 유형)으로 선택합니다.

   로컬 스키마에 대한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [CREATE SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_SCHEMA.html)를 참조하세요. 외부 스키마에 대한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)를 참조하세요.

1. **External**(외부)을 선택하면 다음과 같은 외부 스키마를 선택할 수 있습니다.
   + **Glue Data Catalog** - Amazon Redshift에서 AWS Glue의 테이블을 참조하는 외부 스키마를 생성하려는 경우. AWS Glue 데이터베이스를 선택하고 데이터 카탈로그와 연결된 IAM 역할을 선택합니다.
   + **PostgreSQL** - Amazon RDS for PostgreSQL 또는 Amazon Aurora PostgreSQL-Compatible Edition 데이터베이스를 참조하는 Amazon Redshift 외부 스키마를 생성합니다. 데이터베이스 연결 정보도 제공합니다. 연합 쿼리에 대한 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [연합 쿼리를 사용하여 데이터 쿼리](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html)를 참조하세요.
   + **MySQL** - Amazon RDS for MySQL 또는 Amazon Aurora MySQL-Compatible Edition 데이터베이스를 참조하는 Amazon Redshift 외부 스키마를 생성합니다. 데이터베이스 연결 정보도 제공합니다. 연합 쿼리에 대한 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [연합 쿼리를 사용하여 데이터 쿼리](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html)를 참조하세요.

1. **스키마 생성**을 선택합니다.

   새 스키마가 트리 보기 패널에 나타납니다.

## 테이블 생성
<a name="query-editor-v2-object-create-table"></a>

쿼리 편집기 v2를 사용하여 클러스터 또는 작업 그룹에 테이블을 생성할 수 있습니다.

**테이블을 만들려면**

테이블의 각 열을 지정하거나 정의하는 쉼표로 구분된 값(CSV) 파일을 기반으로 테이블을 생성할 수 있습니다. 테이블에 대한 자세한 내용은 *Amazon Redshift Database 개발자 안내서*의 [테이블 설계](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) 및 [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html)을 참조하세요.

쿼리를 실행하여 테이블을 생성하기 전에 **편집기에서 쿼리 열기(Open query in editor)**를 선택하여 CREATE TABLE 문을 보고 편집합니다.

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**Create**(생성)를 선택하고 **Table**(테이블)을 선택합니다.

1. 스키마를 선택합니다.

1. 테이블 이름을 입력합니다.

1. ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/add-plus.png) **필드 추가(Add field)**를 선택하여 열을 추가합니다.

1. CSV 파일을 테이블 정의의 템플릿으로 사용합니다.

   1. **CSV에서 로드(Load from CSV)**를 선택합니다.

   1. 파일 위치를 찾습니다.

      CSV 파일을 사용하는 경우 파일의 첫 번째 행에 열 머리글이 포함되어 있는지 확인합니다.

   1. 파일과 **열기(Open)**를 차례로 선택합니다. 열 이름과 데이터 유형이 맞는지 확인합니다.

1. 각 열에 대해 열을 선택하고 원하는 옵션을 선택합니다.
   + **인코딩(Encoding)** 값을 선택합니다.
   + **기본값(Default value)**을 선택합니다.
   + 열 값 증분을 원하는 경우 **자동으로 증분(Automatically increment)**을 설정합니다. 그런 다음 **자동 증분 시드(Auto increment seed)** 및 **자동 증분 단계(Auto increment step)** 값을 지정합니다.
   + 열에 항상 값이 포함되어야 하는 경우 **NULL이 아님(Not NULL)**을 설정합니다.
   + 열의 **크기(Size)** 값을 입력합니다.
   + 열을 기본 키로 사용하려면 **기본 키(Primary key)**를 설정합니다.
   + 열을 고유 키로 사용하려면 **고유 키(Unique key)**를 설정합니다.

1. (선택 사항) **테이블 세부 정보(Table details)**를 선택하고 다음 옵션 중 하나를 선택합니다.
   + 배포 키 열 및 스타일.
   + 정렬 키 열 및 정렬 유형.
   + 스냅샷에 테이블을 포함하려면 **Backup(백업)**을 설정합니다.
   + 테이블을 임시 테이블로 생성하려면 **임시 테이블(Temporary table)**을 설정합니다.

1. **편집기에서 쿼리 열기(Open query in editor)**를 선택하여 테이블 정의 옵션을 계속 지정하거나 **테이블 생성(Create table)**을 선택하여 테이블을 생성합니다.

## 함수 생성
<a name="query-editor-v2-object-create-function"></a>

쿼리 편집기 v2를 사용하여 클러스터 또는 작업 그룹에 함수를 생성할 수 있습니다.

**함수를 만들려면**

1. ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/qev2-add.png)**생성(Create)**을 선택하고 **함수(Function)**를 선택합니다.

1. **유형(Type)**에서 **SQL** 또는 **Python**을 선택합니다.

1. **스키마(Schema)** 값을 선택합니다.

1. 함수의 **이름(Name)** 값을 입력합니다.

1. 함수의 **휘발성(Volatility)** 값을 입력합니다.

1. 입력 파라미터 순서대로 데이터 유형별로 **파라미터(Parameters)**를 선택합니다.

1. **반환(Returns)**에서 데이터 유형을 선택합니다.

1. 함수에 대한 **SQL 프로그램** 또는 **Python 프로그램** 코드를 입력합니다.

1. **생성(Create)**을 선택합니다.

사용자 정의 함수(UDF)에 대한 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [사용자 정의 함수 생성](https://docs.aws.amazon.com/redshift/latest/dg/user-defined-functions.html)을 참조하세요.