Yi LIN <ylin30(at)cs(dot)mcgill(dot)ca> writes:
> Read-committed is different from Snapshot in that
> Read-Committed txn will read data committed before read operation starts
> but snapshot txn will read data committed before the whole txn starts.
That's a true statement for SELECT, but a read-committed UPDATE will
in fact find and update the latest version of the row; it won't cause
changes to be lost, even if they occurred after the UPDATE statement as
a whole started. The same is true of SELECT FOR UPDATE.
I'm not sure how that relates to your previous observations though.
Can you duplicate the apparent misbehavior in psql? I can't.
regards, tom lane