Laurenz Albe <laurenz.albe@xxxxxxxxxxx> 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. regards, tom lane