タイトルが示すように、私の短い質問は次のとおりです。postgresトリガーで動的にロードされたC関数を使用する場合、それはブロッキング呼び出しですか、それとも非ブロッキング呼び出しですか?
背景:データベースの挿入/更新/削除に続いてXMLを生成する必要があります。私が検討した2つのオプションは次のとおりです。
- I / U / D操作中に使用するように書き込まれるイベントテーブルを作成し、これらのイベントをデーモンがポーリングしてXMLを生成します。
- postgresのトリガーの一部としてこのXMLを生成するC関数を作成します。
オプション2を使用するとリアルタイムの更新が提供されますが、XMLメッセージの生成と送信などにオーバーヘッドが発生するため、各操作の間にxmlを作成するため、100行の挿入にかかる時間が大幅に長くなることが懸念されます。