From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Getting to 9.3 beta |
Date: | 2013-03-29 21:49:15 |
Message-ID: | C874E2AA-7737-42D3-89C3-F0CDFCA87AFF@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2013/03/30, at 2:33, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> On 2013-03-29 12:28:59 -0400, Tom Lane
>
>>> - REINDEX CONCURRENTLY:
>>> Imo pretty close to being comittable and pretty useful, but it got
>>> redesigned pretty late and it mostly had review from me and fujii and
>>> it could use a bit more input
>>> => unclear
>>
>> I think this really has no hope of being bulletproof until we have
>> MVCC-based catalog scans. The work up to now has been good exploratory
>> effort, but it's not going to be committable without that
>> infrastructure, IMHO anyway.
>
> I think its fair not to commit it in 9.3, the patch came late and has
> undergone significant issues since then. And there are some things in it
> I am not sure about yet.
> But I am not sure why its only acceptable with MVCC scans? Sure, it
> takes an exclusive lock for a very short time when switching the
> relations, but thats still a huge step up over the status quo:
> * toast indexes currently cannot be created/dropped at all. So you have
> to reindex the table which will need to be locked over the whole time.
> * you currently cannot replace indexes that are referenced by foreign
> keys without doing manual catalog hackery which is definitely unsafe
> * you cannot create constraints that use an index concurrently. Parts of
> that is emulatable by creating the constraint with an existing index,
> but that doesn't help e.g. for exclusion constraints.
> * there's no convenient way to issue CREATE INDEX CONCURRENLTY new_index; DROP
> INDEX CONCURRENTLY old_index; RENAME new_index old_index; for all indexes.
Thanks for the detailed explanation! Just adding that this patch needs more review and attention especially for the toast part where multiple indexes are handled.
As it looks that it is too late for 9.3, well let's move it to the next commit fest and work on that in the next release cycle.
Thanks,
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2013-03-29 22:35:08 | Re: Fix for pg_upgrade and invalid indexes |
Previous Message | Bruce Momjian | 2013-03-29 20:57:06 | Fix for pg_upgrade and invalid indexes |