2016-12-20 4 views
0

フィールドが更新された後、またはバックグラウンドで実行するために、私のトリガーが必要です。今のところ、トリガーが起動されるとすぐに、トリガー自体のプロシージャーが実行されるまでUIはブロックされます。 とにかく、フィールドが更新されると直ちにUIがブロックされないようにトリガーを作成します。Postgresql:バックグラウンドでのトリガー

私が試してみました:何も動作

CREATE CONSTRAINT TRIGGER property_created_simple_prod_trigger 
    AFTER UPDATE ON properties DEFERRABLE INITIALLY DEFERRED 
    FOR EACH ROW 
EXECUTE PROCEDURE simple_production_materialized_view_procedure_trigger(); 

しかし、ハード運を。

+0

更新プログラムを呼び出すメソッドを、分離されたスレッドに実行します。 –

+0

質問をコマンドと結果のリストで更新し、何を入手し、何を得たいかをコメントしてください –

答えて

0

PostgreSQLにはバックグラウンドプロシージャ/トリガがないため、直接行うことはできません。

私はトリガーを持って私たちにお勧めしますNOTIFYあなたのアプリケーションを送信LISTENです。アプリケーションのLISTENスレッドを個別の接続にして、通知を受け取ったときにバックグラウンド処理を行う別のスレッドで管理します。

+0

バックグラウンドワーカーはどうですか? https://www.postgresql.org/docs/current/static/bgworker.html –

+0

@a_horse_with_no_nameもちろん、独自の拡張機能を実装したい場合は、これがオプションです。しかし、それを行うには缶詰めのものは何もありません。プロポーザル(https://www.postgresql.org/message-id/CA%2BTgmoam66dTzCP8N2cRcS6S6dBMFX2BJMba%2BmDf68H%[email protected])と拡張機能(https://github.com/vibhorkum/pg_background)がありますが、 –

+0

とhttps://www.postgresql.org/message-id/[email protected]om –

関連する問題