

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

# ALTER TABLE ADD 및 DROP COLUMN 예
<a name="r_ALTER_TABLE_COL_ex-add-drop"></a>

다음 예에서는 ALTER TABLE을 사용하여 기본 테이블 열을 추가한 다음에 삭제하는 방법과 종속 객체가 있는 열을 삭제하는 방법을 보여줍니다.

## 기본 열을 ADD한 다음 DROP
<a name="r_ALTER_TABLE_COL_ex-add-then-drop-a-basic-column"></a>

다음 예에서는 독립형 FEEDBACK\_SCORE 열을 USERS 테이블에 추가합니다. 이 열에는 간단하게 정수만 포함되어 있는데, 이 열의 기본값은 NULL(피드백 점수 없음)입니다.

먼저, PG\_TABLE\_DEF 카탈로그 테이블을 쿼리하여 USERS 테이블의 스키마를 봅니다.

```
column        | type                   | encoding | distkey | sortkey
--------------+------------------------+----------+---------+--------
userid        | integer                | delta    | true    |       1
username      | character(8)           | lzo      | false   |       0
firstname     | character varying(30)  | text32k  | false   |       0
lastname      | character varying(30)  | text32k  | false   |       0
city          | character varying(30)  | text32k  | false   |       0
state         | character(2)           | bytedict | false   |       0
email         | character varying(100) | lzo      | false   |       0
phone         | character(14)          | lzo      | false   |       0
likesports    | boolean                | none     | false   |       0
liketheatre   | boolean                | none     | false   |       0
likeconcerts  | boolean                | none     | false   |       0
likejazz      | boolean                | none     | false   |       0
likeclassical | boolean                | none     | false   |       0
likeopera     | boolean                | none     | false   |       0
likerock      | boolean                | none     | false   |       0
likevegas     | boolean                | none     | false   |       0
likebroadway  | boolean                | none     | false   |       0
likemusicals  | boolean                | none     | false   |       0
```

이제 feedback\_score 열을 추가합니다.

```
alter table users
add column feedback_score int
default NULL;
```

USERS에서 FEEDBACK\_SCORE 열을 선택하여 열이 추가되었는지 확인합니다.

```
select feedback_score from users limit 5;

feedback_score
----------------
NULL
NULL
NULL
NULL
NULL
```

열을 삭제하여 원래 DDL을 복구합니다.

```
alter table users drop column feedback_score;
```

## 종속 객체가 있는 열 삭제
<a name="r_ALTER_TABLE_COL_ex-dropping-a-column-with-a-dependent-object"></a>

다음 예에서는 종속 객체가 있는 열을 삭제합니다. 결과적으로, 종속 객체도 삭제됩니다.

시작하려면 FEEDBACK\_SCORE 열을 USERS 테이블에 다시 추가합니다.

```
alter table users
add column feedback_score int
default NULL;
```

다음으로, USERS\_VIEW라는 USERS 테이블에서 뷰를 생성합니다.

```
create view users_view as select * from users;
```

이제, FEEDBACK\_SCORE 열을 USERS 테이블에서 삭제해 봅니다. 다음 DROP 문에서는 기본 동작(RESTRICT)을 사용합니다.

```
alter table users drop column feedback_score;
```

다른 객체가 이 열에 종속되어 있으므로 Amazon Redshift가 이 열을 삭제할 수 없다는 오류 메시지를 표시합니다.

이번에는 모든 종속 객체를 삭제하도록 CASCADE를 지정하여 FEEDBACK\_SCORE 열을 다시 삭제해 봅니다.

```
alter table users
drop column feedback_score cascade;
```