1 つの PostgreSQL セーブポイントはどのくらいのメモリを消費しますか?

1 つの PostgreSQL セーブポイントはどのくらいのメモリを消費しますか?

postgresql では、単一のセーブポイント (トランザクション内) はどのくらいのメモリを消費しますか? 大量のセーブポイント (100k 以上) を作成する可能性のあるアプリケーションを開発していますが、パフォーマンスの低下について疑問に思っています。

答え1

私の知る限り、トランザクション全般と同様に、それらは非常に安価です。しかし、10 万個作成しようとしたことはありません。

トランザクションのサイズには制限があることに注意してください (正しく記憶している限り、最大 2^32-1 コマンド)。設計ではその制限に近づいているようです。一般的に、数十万のセーブポイントがある設計は欠陥があると考えられます。

答え2

この質問に対する答えは、特定のアプリケーションで試してみるのが一番だと思います。個々のセーブポイントあたりはそれほど大きくありませんが、100k 以上になると、影響は蓄積され、他の要因も影響してくる可能性があります。

関連情報