- カテゴリ:
システム関数 (システム制御)
SYSTEM$PIPE_FORCE_RESUME¶
再開するには、 ALTER PIPE を使用してパイプを強制的に一時停止します。これは、次のいずれかのシナリオで必要です。
パイプの一時停止中に、パイプの所有者がパイプの所有権を別のロールに譲渡する。
一時停止したパイプは古くなります。
パイプで受信されたイベントメッセージの保持期間制限(デフォルトでは14日)より長く一時停止された場合、パイプは古くなっていると見なされます。各通知がこの期間の終わりに達すると、Snowflakeはそれを内部メタデータから削除するようにスケジュールします。パイプが後で再開された場合、Snowpipeは14日より古い通知をベストエフォートベーシスで処理する場合があります。Snowflakeは、これらの古い通知が処理されることを保証できません。
このシナリオは、データロードをトリガーするためにクラウドメッセージングを利用するパイプオブジェクト(つまり、パイプ定義が
AUTO_INGEST = TRUE
のもの)のみに関連しています。
この関数を実行すると、指定されたパイプが再開されます。
キューに入れられているファイルの数を確認するには、 SYSTEM$PIPE_STATUS をクエリします。
詳細については、 Snowpipe をご参照ください。
構文¶
SYSTEM$PIPE_FORCE_RESUME( '<pipe_name>' , '[ STALENESS_CHECK_OVERRIDE ] [ , OWNERSHIP_TRANSFER_CHECK_OVERRIDE ]')
引数¶
pipe_name
実行を再開するパイプです。
STALENESS_CHECK_OVERRIDE
古いパイプを再開するように指定します。パイプで受信されたイベントメッセージの保持期間制限(デフォルトでは14日)より長く一時停止された場合、パイプは古くなっていると見なされます。
注釈
この引数は、クラウドメッセージングを利用してデータロードをトリガーするパイプオブジェクトのみに関連しています。
OWNERSHIP_TRANSFER_CHECK_OVERRIDE
パイプの所有権が別のロールに譲渡された後にパイプを再開することを指定します。
注釈
下位互換性を確保するために、
pipe_name
を唯一の入力として渡すことは、構文的にはpipe_name
とOWNERSHIP_TRANSFER_CHECK_OVERRIDE
の両方を渡すことと同じです。
STALENESS_CHECK_OVERRIDE
と OWNERSHIP_TRANSFER_CHECK_OVERRIDE
の両方が必要な場合、これらの引数はどちらの順序でも入力できます。
使用上の注意¶
パイプの所有者(つまり、パイプに対する OWNERSHIP 権限を持つロール) または パイプに対する OPERATE 権限のあるロールのみが、この SQL 関数を呼び出すことができます。
スキーマオブジェクトでの SQL 操作には、オブジェクトを含むデータベースとスキーマに対する USAGE 権限も必要です。
pipe_name
は文字列であるため、一重引用符で囲む必要があります。データベースとスキーマ(名前が完全修飾されている場合)を含む、名前全体を一重引用符で囲む必要があります。つまり、
'<データベース>.<スキーマ>.<パイプ名>'
。パイプ名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は、一重引用符で囲む必要があります。つまり、
'"<パイプ名>"'
。
例¶
大文字と小文字を区別しない名前のパイプを強制的に再開します。
SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema.mypipe');
大文字と小文字を区別する名前のパイプを強制的に再開します。
SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema."myPipe"');
所有権が別のロールに譲渡された後、古いパイプを強制的に再開します。
SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema.stalepipe','staleness_check_override, ownership_transfer_check_override');