Re: [GENERAL] How to make a read-write atomic? - Mailing list pgsql-general

From Vadim Mikheev
Subject Re: [GENERAL] How to make a read-write atomic?
Date
Msg-id 37CDD54A.59CAA28A@krs.ru
Whole thread Raw
In response to How to make a read-write atomic?  (Daniel Stolk <stolkd@email.com>)
List pgsql-general
Daniel Stolk wrote:
>
> Hi,
>
> I used to use the BEGIN-COMMIT pair in order to ensure that two
> processes didn't read the same data and write at the same time, so
> messing things up.  But I've recently upgraded to the latest version of
> postgresql and now it doesn't work anymore.  Does anybody know what's
> going on?
>
> To explain my situation in more detail:
> I want a process to read the database for the entry that has the highest
> customerid number.  I then want the process to write the next entry into
> the database with a customerid that is one larger.  But if two processes
> read at the same time, then they will both write an entry that has the
> same customerid number.  How do I keep this from occurring since the
> BEGIN command doesn't seem to work for me anymore?

Use LOCK TABLE IN SHARE ROW EXCLUSIVE MODE before reading max
customerid. Please read doc and "Migration to v6.5" in HISTORY.

Vadim

pgsql-general by date:

Previous
From: "Robert Wagner"
Date:
Subject: Re: [GENERAL] How to make a read-write atomic?
Next
From: "omid omoomi"
Date:
Subject: Re: [GENERAL] How to make a read-write atomic?