On 04.10.2013 14:02, Andres Freund wrote:
> But locks on those still can have meaning, right? From my very limited
> understanding of predicate.c/SSI I don't see why we cannot have
> meaningful conflicts on tuples that are already vacuumable. You'd need
> some curiously interleaved transactions, sure, but it seems possible?
To conflict with a lock, a backend would need to read or update the
tuple the lock is on. If the tuple is vacuumable, it's no longer visible
to anyone, so no backend can possibly read or update it anymore.
- Heikki