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

Reply via email to