2017-02-22 9 views
2

RedshiftにはPostgreSQLのpg_sleep()に似た機能がありますか?Amazon RedshiftでのSQLスクリプトの遅延実行

実行を続ける前にしばらく待つ必要のあるSQLスクリプトがあります。

Unsupported PostgreSQL Functionspg_sleep()というRedshiftのドキュメントはサポートされていません。

更新1:

Redshiftでデッドロックの問題が発生しています。私はDROP/TRUNCATE/INSERT/UPDATE/SELECTとテーブル(またはテーブルのセット)を照会できる複数のプロセスがあります。デッドロックがある場合、私はこの例外をキャッチして、プロセスがいつか待って再試行しようとしていました。デッドロックを処理する方法に関する推奨事項はありますか?

+0

特定の時間だけ待つ必要があるか、外部イベントが(うまくいけば)起こるまで待つ必要がありますか? –

+0

ええ、最終的な一貫性やそれに類するものが心配ですか? – systemjack

+0

スクリプトの実行を強制的に強制することは、ほとんど常に間違っています。ユースケースは何ですか?つまり、なぜ眠りたいのですか? – saille

答えて

0

これは実際に動作するかどう私は種類のそれを疑うが、あなたは、Python User Defined Functionを使用して試みることができる...見当がつかない:

CREATE OR REPLACE FUNCTION janky_sleep (x float) RETURNS bool IMMUTABLE as $$ 
    from time import sleep 
    sleep(x) 
    return True 
$$ LANGUAGE plpythonu; 

select janky_sleep(5.0); 
0

は、あなたがテーブルの上にロックを使用しようとしています。私はあなたのような状況を抱えていました。