On Wed, Jun 28, 2017 at 4:54 PM, Rob Nikander <rob.nikan...@gmail.com>
wrote:

> Hi,
>
> I'm reading about MVCC here: https://www.postgresql.
> org/docs/current/static/mvcc.html.
>
> In some cases I can use these transaction isolation modes, but in other
> cases, I may want to manage the versions and concurrency manually. Is there
> a way to select the “version” of a row, or is that data hidden to ordinary
> SQL statements?
>
> I’m thinking about a sequence of actions, which are logically a
> transaction, but start on one thread and complete later on another thread.
> I don’t think I can tie up a JDBC database connection for that long. I can
> add a `version bigint` column to my table, and the final update will look
> like:
>
>      update ... where id = ? and version = the_version_selected_earlier_
> in_a_different_thread
>
> … and if that gets 0 rows, it can handle the conflict.
>

For that, you could use xmin.  That tracks the transaction where the row
first became visible.

Best Wishes,
Chris Travers

>
> Rob
>
>
>


-- 
Best Wishes,
Chris Travers

Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor
lock-in.
http://www.efficito.com/learn_more

Reply via email to