Re: Support for REINDEX CONCURRENTLY

Andres Freund <andres@2ndquadrant.com>

From: Andres Freund <andres@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Eisentraut <peter_e@gmx.net>, Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael.paquier@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2012-12-11T20:27:11Z
Lists: pgsql-hackers
On 2012-12-11 15:23:52 -0500, Robert Haas wrote:
> On Mon, Dec 10, 2012 at 5:18 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> > On 12/8/12 9:40 AM, Tom Lane wrote:
> >> I'm tempted to propose that REINDEX CONCURRENTLY simply not try to
> >> preserve the index name exactly.  Something like adding or removing
> >> trailing underscores would probably serve to generate a nonconflicting
> >> name that's not too unsightly.
> >
> > If you think you can rename an index without an exclusive lock, then why
> > not rename it back to the original name when you're done?
>
> Yeah... and also, why do you think that?  I thought the idea that we
> could do any such thing had been convincingly refuted.
>
> Frankly, I think that if REINDEX CONCURRENTLY is just shorthand for
> "CREATE INDEX CONCURRENTLY with a different name and then DROP INDEX
> CONCURRENTLY on the old name", it's barely worth doing.  People can do
> that already, and do, and then we don't have to explain the wart that
> the name changes under you.

Its fundamentally different in that you can do it with constraints
referencing the index present. And that it works with toast tables.

Greetings,

Andres Freund

--
 Andres Freund	                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Background worker processes

  2. Fix assorted bugs in CREATE/DROP INDEX CONCURRENTLY.

  3. Work around unportable behavior of malloc(0) and realloc(NULL, 0).

  4. Properly set relpersistence for fake relcache entries.