Redshiftは次と同等のステートメントをサポートしていますか?
DROP TABLE IF EXISTS tablename
次の答えを参照してください。これは古いです。
へのサポート
DROP TABLE IF EXISTS tablename;
postgreSQL8.2で追加されました。 Redshiftは、ParAccelによって8.1の非常に大幅に変更されたフォークであり、私が知る限り、新しいバージョンからの変更はほとんどバックポートされていません。 IF EXISTS
をサポートする可能性はほとんどありません。おそらく、カタログクエリを実行して、information_schema
を検索し、その結果に基づいてテーブルを作成するかどうかを決定して、テーブルが存在するかどうかを判断する必要があります。
これは、最新バージョンのRedshiftでサポートされています。
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
指定されたテーブルが存在しない場合、コマンドは変更を行わず、エラーで終了するのではなく、テーブルが存在しないというメッセージを返す必要があることを示すIFEXISTS句。
この句はスクリプトを作成するときに役立ちます。そのため、DROP TABLEが存在しないテーブルに対して実行されても、スクリプトは失敗しません。
オンラインAWS Redshiftドキュメント から取得。