Re: table as log (multiple writers and readers) - Mailing list pgsql-general

From Craig Ringer
Subject Re: table as log (multiple writers and readers)
Date
Msg-id 48062AD5.8040504@postnewspapers.com.au
Whole thread Raw
In response to Re: table as log (multiple writers and readers)  (brian <brian@zijn-digital.com>)
Responses Re: table as log (multiple writers and readers)  (brian <brian@zijn-digital.com>)
Re: table as log (multiple writers and readers)  (Andrew Sullivan <ajs@crankycanuck.ca>)
List pgsql-general
brian wrote:

> Use a timestamp column also.

That's subject to the same issues, because a transaction's
current_timestamp() is determined at transaction start. So, in a
situation like this:


WRITER 1    WRITER 2    READER 1
--------------------------------------------
BEGIN
             BEGIN
INSERT
             INSERT
             COMMIT
                         BEGIN
                         SELECT
COMMIT

then READER 1 will see the most recent timestamp as that inserted by
WRITER 2, but it won't see the row inserted by WRITER 1 with an earlier
timestamp.

I don't think it's even OK in the case of a single-statement INSERT
(where the transaction is implicit) and/or with the use of
clock_timestamp() ... though I'm less sure about that.

--
Craig Ringer

pgsql-general by date:

Previous
From: brian
Date:
Subject: Re: table as log (multiple writers and readers)
Next
From: Rodrigo Gonzalez
Date:
Subject: Re: Master-master replication with PostgreSQL