Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> That doesn't preclude also providing some more-invasive tools
> that people can use when they do get into that situation;
About this side of things, what about having any query which asks for
system columns (any of them) take a specific (new) exclusive row level
lock. The tuple moving utility would try to take the same lock before
moving any tuple, thus allowing those who need it to continue relying on
the ctid / xmin queries trick.
If that idea has any chance to fly, the tuple moving facility could even
be integrated into autovacuum for actively self-healing PostgreSQL.
Regards,
--
dim
Hoping this won't be some more hand waving.