2009-07-27 7 views
1

ドキュメントをコミットローカル設定:「それはBEGINブロックの外側で実行された場合、トランザクションが即座に終了するので、SET LOCALは、効果がないように見えることに注意してください」Postgresは開始/設定されたローカルの状態について

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

答えて

3

COMMITなしで接続が切断された場合、PostgreSQLは自動的にROLLBACKを発行します。読み取り専用トランザクションのコンテキストでは、これは結果をもたらさない。

接続がトランザクションの後に開いたままにする場合は、ROLLBACKを発行する場合があります(またはCOMMITを、一般的ROLLBACKが低コストであるが)きれいな状態で実行するようにあなたの次のトランザクションのためです。

関連する問題