1

トリガーとHTTPGETまたはPOSTを使用してPostgresテーブルに挿入が発生するたびにHTTPサービスにpingを実行する必要がありますか?

標準のPostgreSQLインストールでそれを達成する簡単な方法はありますか?

ない場合、追加のライブラリでそれを行う方法はありますか?

4

1 に答える 1

3

これは、PL/perluまたはPL/pythonuを使用して実行できます。ただし、この方法では行わないことを強くお勧めします。DNSの問題、サーバーの問題などにより、PostgreSQLバックエンドが停止し、データベースのパフォーマンスが大幅に低下し、max_connectionsが使い果たされる可能性があります。

代わりにNOTIFY、変更が発生したときにトリガーにを送信させ、トリガーに詳細をログテーブルに挿入させます。通知用のクライアントアプリケーションLISTENを用意し、トリガーによってログテーブルに挿入されたレコードを読み取り、適切なHTTPリクエストを作成します。

SELECT ... FOR UPDATEクライアントは、リクエストが正常に行われたときに、を使用してログテーブルからリクエストを1つずつ取得する必要がありますDELETE

詳細については、DB内からの電子メールの送信に関するこの回答を参照してください。

于 2012-12-14T00:26:45.120 に答える