

 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="stored-procedure-constraints"></a>

이 주제에서는 Amazon Redshift 저장 프로시저에 대한 제한 사항을 설명합니다.

Amazon Redshift 저장 프로시저를 사용하는 경우 다음 고려 사항이 적용됩니다.

## 저장 프로시저 지원에 대한 Amazon Redshift와 PostgreSQL 간의 차이점
<a name="stored-procedure-differences"></a>

 다음은 Amazon Redshift와 PostgreSQL의 저장 프로시저 지원 간 차이점입니다.
+ Amazon Redshift는 하위 트랜잭션을 지원하지 않으므로 예외 처리 블록에 대한 지원이 제한됩니다.

## 고려 사항 및 제한 사항
<a name="stored-procedure-limits"></a>

다음은 Amazon Redshift의 저장 프로시저에 대한 고려 사항입니다.
+ 데이터베이스의 최대 저장 프로시저 수는 10,000개입니다.
+ 프로시저 소스 코드의 최대 크기는 2MB입니다.
+ 사용자 세션 하나에서 동시에 열 수 있는 명시적 및 묵시적 커서의 최대 수는 1개입니다. SQL 문의 결과 세트를 반복하는 FOR 루프는 암시적 커서를 엽니다. 중첩 커서는 지원되지 않습니다.
+ 명시적 및 암시적 커서는 결과 집합 크기의 제한이 표준 Amazon Redshift 커서와 동일합니다. 자세한 내용은 [커서 제약 조건](declare.md#declare-constraints) 섹션을 참조하세요.
+ 중첩 호출의 최대 수준 수는 16입니다.
+ 프로시저 파라미터의 최대 수는 입력 인수의 경우 32, 출력 인수의 경우 32입니다.
+ 저장 프로시저의 최대 변수 수는 1,024입니다.
+ 자체 트랜잭션 컨텍스트가 필요한 모든 SQL 명령은 저장 프로시저 내부에서 지원되지 않습니다. 그러한 예는 다음과 같습니다.
  + PREPARE
  + CREATE/DROP DATABASE
  + CREATE EXTERNAL TABLE
  + VACUUM
  + SET LOCAL
  + ALTER TABLE APPEND
+ Java Database Connectivity(JDBC) 드라이버를 통한 `registerOutParameter` 메서드 호출은 `refcursor` 데이터 형식에서 지원되지 않습니다. 데이터 형식 사용 예는 `refcursor` 섹션을 참조하세요..[저장 프로시저에서 결과 세트 반환](stored-procedure-result-set.md)