Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事
ストアドプロシージャの制限事項
このトピックでは、Amazon Redshift ストアドプロシージャの制限事項について説明します。
Amazon Redshift のストアドプロシージャを使用する場合は、以下の考慮事項が適用されます。
Amazon Redshift および PostgreSQL のストアドプロシージャサポートに関する違い
Amazon Redshift および PostgreSQL 間のストアドプロシージャサポートの違いは以下のとおりです。
Amazon Redshift はサブトランザクションをサポートしていないため、例外処理ブロックに対するサポートは制限されます。
考慮事項と制限
Amazon Redshift のストアドプロシージャに対する考慮事項は以下のとおりです。
データベースのストアドプロシージャの最大数は 10,000 です。
プロシージャのソースコードの最大サイズは 2 MB です。
ユーザーセッションで同時に開くことができる明示的および暗黙的なカーソルの最大数は 1 です。SQL ステートメントの結果セットを反復処理する FOR ロープは、暗黙的なカーソルを開きます。ネストされたカーソルはサポートされていません。
明示的および暗黙的なカーソルには、結果セットのサイズについて Amazon Redshift の標準カーソルと同じ制限が適用されます。詳細については、「カーソルの制約」を参照してください。
ネストされた呼び出しの最大レベル数は 16 です。
プロシージャパラメータの最大数は、入力引数の場合は 32、出力引数の場合は 32 です。
ストアドプロシージャの変数の最大数は 1,024 です。
独自のトランザクションコンテキストを必要とするすべての SQL コマンドは、ストアドプロシージャ内でサポートされていません。以下に例を示します。
PREPARE
データベースの作成/削除
CREATE EXTERNAL TABLE
VACUUM
ローカルに設定
ALTER TABLE APPEND
Java Database Connectivity (JDBC) ドライバー経由の
registerOutParameter
メソッド呼び出しは、refcursor
データ型ではサポートされていません。データ型の使用例については、「refcursor
」を参照してください。。ストアドプロシージャから結果セットを返す