Re: existing row not found by SELECT ... WHERE CTID = ?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: existing row not found by SELECT ... WHERE CTID = ?
Дата
Msg-id 2305902.1653580955@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: existing row not found by SELECT ... WHERE CTID = ?  ("David G. Johnston" <david.g.johnston@gmail.com>)
Ответы Re: existing row not found by SELECT ... WHERE CTID = ?  (Matthias Apitz <guru@unixarea.de>)
Список pgsql-general
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Thursday, May 26, 2022, Matthias Apitz <guru@unixarea.de> wrote:
>> Is there any way to get with the old CTID to the row, for example with
>> the old CTID to the new one which the row now has after the update of the
>> row?

> No, there is no link between old and new in the main table.

There is a forward link from the old CTID to the new, but we don't
provide any user-accessible way to use it.  I wonder though if the
OP should be considering using SELECT FOR UPDATE in his cursor,
so that it'd automatically chain up to the newest row version.

            regards, tom lane



В списке pgsql-general по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: existing row not found by SELECT ... WHERE CTID = ?
Следующее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: pg_create_logical_replication_slot in DB1 is blocked by a session in DB2