From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: WORM and Read Only Tables (v0.1) |
Date: | 2007-12-11 15:31:36 |
Message-ID: | 1197387096.4255.1343.camel@ebony.site |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 2007-12-11 at 10:19 -0500, Tom Lane wrote:
> Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > This command will place a ShareLock (only) on the table, preventing
> > anybody from writing to the table while we freeze it. The ShareLock is
> > incompatible with any transaction that has written to the table, so when
> > we acquire the lock all writers to the table will have completed. We
> > then run the equivalent of a VACUUM FREEZE which will then be able to
> > freeze *all* rows in one pass (rather than all except the most
> > recent).
>
> This breaks MVCC. The fact that a transaction has completed is not
> license to discard tuple xmin immediately.
Yeh, agreed. I knew I'd solved that bit, so I was focused elsewhere.
Sloppy, so apologies.
I was originally planning to put a wait in at the beginning, as is used
by CREATE INDEX CONCURRENTLY, though I prefer Greg's variant because
it's more forgiving.
--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Chernow | 2007-12-11 15:31:46 | Re: PGparam proposal |
Previous Message | Alvaro Herrera | 2007-12-11 15:28:50 | Re: [HACKERS] BUG #3799: csvlog skips some logs |