I am interested in controlling the isolation level of a transaction inside a PostgreSQL procedure but haven't found any information on how to do it. The documentation on Transaction Management within Chapter 42. PL/pgSQL — SQL Procedural Language only states that:
A new transaction starts out with default transaction characteristics such as transaction isolation level.
Can we change the default isolation level? Can you provide example code?
Best Answer
That should be simple:
The downside to that is that because of the limitations of transaction management inside procedures, you can no longer
COMMIT
orROLLBACK
inside such a procedure.If you need that, you could start the procedure body like this:
Transaction management inside procedures is pretty limited at the moment.