Re: Transaction serialization

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Dusan Milanov <dusanmilanov(at)gmail(dot)com>
Cc: Forums postgresql <pgsql-general(at)postgresql(dot)org>
Subject: Re: Transaction serialization
Date: 2016-06-23 22:57:54
Message-ID: CAEepm=38_MzausJ2yUG=Oz4e=HeGPq_c2W1npQ-8OfHxn5H3tg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jun 24, 2016 at 4:13 AM, Dusan Milanov <dusanmilanov(at)gmail(dot)com> wrote:
> Hi,
>
> A question about transactions: does postgres report serialization errors
> before a transaction is committed? Obviously, it does on commit, but how
> about previous statements? Can there be an ERRCODE_T_R_SERIALIZATION_FAILURE
> error as a response to anything else but the commit?

Yes. See src/test/isolation/expected/project-manager.out, which shows
how to reach this error:

postgres=# UPDATE person SET is_project_manager = false WHERE person_id = 1;
ERROR: could not serialize access due to read/write dependencies
among transactions
DETAIL: Reason code: Canceled on identification as a pivot, during write.
HINT: The transaction might succeed if retried.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sameer Kumar 2016-06-24 01:23:32 Re: What Causes Access Exclusive Lock?
Previous Message Jeff Janes 2016-06-23 22:23:07 Re: What Causes Access Exclusive Lock?