> On Dec 9, 2024, at 03:02, Lars Aksel Opsahl <Lars(dot)Opsahl(at)nibio(dot)no> wrote:
> If there were a way to remove dead rows without requiring a commit from totally unrelated jobs, it would be much easier.
Without seeing into the future, PostgreSQL doesn't know if a particular open transaction is "totally unrelated" to any other open transaction. Any open transaction can potentially see rows that have been deleted or updated since it began, and without knowing what operations are coming, it doesn't know if it is safe to remove them.
(Strictly speaking, the rows you are describing are not "dead," in that they are still visible to some transaction.)