1

set local states のドキュメント:

「トランザクションがすぐに終了するため、SET LOCAL が BEGIN ブロックの外で実行された場合、SET LOCAL は効果がないように見えることに注意してください。」

読み取り専用トランザクションのコンテキストで SET LOCAL を使用している場合、トランザクションの終了を COMMIT ステートメントで示す必要がありますか? これをするかしないかで違いはありますか?

4

1 に答える 1

3

接続が なしで閉じられた場合COMMIT、PostgreSQL は自動的にROLLBACK. 読み取り専用トランザクションのコンテキストでは、これは何の影響もありません。

トランザクション後も接続が開いたままの場合は、次のトランザクションをクリーンな状態で実行するために、 ROLLBACK(またはCOMMIT、ただし一般的には a の方がコストがかからない)を発行することをお勧めします。ROLLBACK

于 2009-07-27T02:09:04.313 に答える