Simon Riggs <[EMAIL PROTECTED]> writes: > So do you see a problem scenario like this?
> A, B and C separate backends: > A1 Reads page, some row versions are *not* marked LP_DELETE but will be > later when A2 happens > B1 VACUUM removes dead rows, just happens to be all of them > B2 Recycles page into FSM > C1 Inserts new data into old page > A2 Attempts to update old page to notify about dead rows (UGH!) Can't happen; a page cannot be recycled until all concurrent transactions are gone. In any case, the LP_DELETE marking code will certainly take care to check that the entries it's trying to mark are still the same ones it meant to mark. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match