"Jim C. Nasby" <jnasby@pervasive.com> writes:
> I'd actually been thinking about this recently, and had come up with the
> following half-baked ideas:
> Allow a transaction to specify exactly what tables it will be touching,
> perhaps as an extension to BEGIN. Should any action that transaction
> takes attempt to access a table not specified, throw an error.
> A possible variant on that would be to automatically determine at
> transaction start all the tables that would be accessed by that
> transaction.
> Once that list is available, vacuum should be able to use it to ignore
> any transactions that have promised not to touch whatever table it's
> vacuuming.
No, you missed my point entirely. The above would help not at all,
unless the restrictions were somehow propagated through XMIN
calculations, which seems impracticable. (Every backend calculate a
separate XMIN with respect to every table that's being mentioned by any
other backend? I don't think so...)
regards, tom lane