Re: existing row not found by SELECT ... WHERE CTID = ? - Mailing list pgsql-general

From Christoph Moench-Tegeder
Subject Re: existing row not found by SELECT ... WHERE CTID = ?
Date
Msg-id Yo4gxgkAIdqVkMS6@elch.exwg.net
Whole thread Raw
In response to Re: existing row not found by SELECT ... WHERE CTID = ?  (Matthias Apitz <guru@unixarea.de>)
List pgsql-general
## Matthias Apitz (guru@unixarea.de):

> We will solve the problem now with setting the session after connect to
> 
>    SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ;
> 
> (with an appropriate ESQL/C call). Any comments?

Maybe the real question is whether it is wise to use an implementation
artifact (ctid) to identify rows?
The textbook approach could be row locks (SELECT ... FOR SHARE/UPDATE and
variants) to prevent concurrent changes or optimistic locking  (and a
primary key in any case) - but maybe you already investigated those options?

Regards,
Christoph

-- 
Spare Space



pgsql-general by date:

Previous
From: Matthias Apitz
Date:
Subject: Re: existing row not found by SELECT ... WHERE CTID = ?
Next
From: Färber, Franz-Josef (StMUK)
Date:
Subject: Extension pg_trgm, permissions and pg_dump order