Simon Riggs wrote: > > Currently, we calculate a single OldestXmin across all snapshots on the > assumption that any transaction might access any table. > > I propose creating "Visibility Groups" that *explicitly* limit the > ability of a transaction to access data outside its visibility group(s). > By default, visibility_groups would be NULL, implying potential access > to all tables.
I think this is a cumbersome thing to use. We can do better -- right now we keep closer track of open snapshots, which means that if there is a long running transaction that refreshes its snapshots periodically, vacuum doesn't need to keep all the dead rows that it can no longer see. We can improve vacuum to be able to remove a lot more dead rows than we do currently. This is invisible to the user, which IMHO is a better user interface than what you are proposing. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers