Re: advancing snapshot's xmin
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndquadrant.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Gregory Stark <stark@enterprisedb.com>, Heikki Linnakangas <heikki@enterprisedb.com>, Neil Conway <neilc@samurai.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2008-03-28T14:07:55Z
Lists: pgsql-hackers
On Fri, 2008-03-28 at 10:35 -0300, Alvaro Herrera wrote: > The problem is that we always consider every transaction's PGPROC->xid > in calculating MyProc->xmin. So if you have a long running > transaction, it doesn't matter how far beyond the snapshots are -- the > value returned by GetOldestXmin will always be at most the old > transaction's Xid. Even if that transaction cannot see the old rows > because all of its snapshots are way in the future. It may not have a TransactionId yet. So we should have the capability to prevent long running read-only transactions from causing a build up of dead row versions. But long running write transactions would still be a problem. -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com PostgreSQL UK 2008 Conference: http://www.postgresql.org.uk