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

Поиск
Список
Период
Сортировка
От Matthias Apitz
Тема Re: existing row not found by SELECT ... WHERE CTID = ?
Дата
Msg-id Yo+Y7E3r29d8tDu1@pureos
обсуждение исходный текст
Ответ на Re: existing row not found by SELECT ... WHERE CTID = ?  (Matthias Apitz <guru@unixarea.de>)
Список pgsql-general
El día Wednesday, May 25, 2022 a las 11:21:44AM +0200, Matthias Apitz escribió:

> El día martes, mayo 24, 2022 a las 12:11:49 -0400, Tom Lane escribió:
> 
> > Laurenz Albe <laurenz.albe@cybertec.at> writes:
> > > It may well be that somebody deleted or updated a few rows between the time
> > > the cursor was materialized and the time the 50000th row was fetched.
> > 
> > Even without HOLD, a cursor will return a view of the data as it stood
> > when the cursor was opened, just as a plain SELECT does.  There is
> > *plenty* of time for another session to get in there if you've been
> > groveling through 50K records one at a time.
> 
> Tom, Thanks for pointing us in the right direction where to look for a
> solution. The CURSOR was opened around 23:11 pm and the CTID not found
> at 23:21 pm, i.e. ten minutes later. This piece of software does every
> night some housekeeping work in the circulation area of our LMS (Library
> Management System) and is meant to run as a standalone job (only one
> process after the other). We're trying to figure out with the customer if something
> else was started/running at this time between 23:11 and 23:21, to shut this
> off in the future. ...

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?

    matthias

-- 
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub



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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Automatic PK values not added to new rows
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: existing row not found by SELECT ... WHERE CTID = ?