影響を受ける行がない場合でもステートメントトリガーが実行されることがわかりました。 興味深い - とにかく - 影響を受ける行を取得しない方法がありますか、少なくとも行が影響を受けていないかどうかを確認する方法はありますか?Postgres:ステートメントトリガーで影響を受ける行の数を取得
トリガーは挿入後のステートメントです。
ありがとうございます!
影響を受ける行がない場合でもステートメントトリガーが実行されることがわかりました。 興味深い - とにかく - 影響を受ける行を取得しない方法がありますか、少なくとも行が影響を受けていないかどうかを確認する方法はありますか?Postgres:ステートメントトリガーで影響を受ける行の数を取得
トリガーは挿入後のステートメントです。
ありがとうございます!
次を使用することができます。
SELECT count(*)
FROM mytable
WHERE xmin::text::bigint = txid_current();
トリガーと同じトランザクションで作成または更新されたすべての行をカウントすること。もちろん、同じトランザクション内に同じテーブルの変更がさらにある場合、そのテーブルは目的の結果を返しません。あなたのコードが
CREATE INDEX ON mytable ((xmin::text::bigint));
'pg_stat_get_xact_tuples_xxx'の機能はどうですか? – Abelisto
興味深いアイデア!これらの値が常に瞬時に更新されるかどうかはわかりませんが、私のテクニックよりもクエリを実行する方が安いでしょう。 –
次のとおりです。
あなたも、そのクエリをスピードアップするためのインデックスを作成することができますか? –