Code
Code

Reputation: 6251

Is it possible to commit a transaction and start a new one without releasing the row locks?

I have a use case where I need to:

  1. Update a row.
  2. Persist the changes to disk, such that a system crash will not reverse it.
  3. Update the same row that has not been modified by another transaction (a race condition).

How would I achieve this? Is it possible to commit a transaction and start a new one without releasing the row locks?

Upvotes: 3

Views: 60

Answers (1)

Turo
Turo

Reputation: 4924

Postgres supports Advisory Locks, that can be hold over Session Lifetime. If all your threads use these locks, you would be safe.

Upvotes: 1

Related Questions