Re: Best practice when reindexing in production

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Niels Kristian Schjødt <nielskristian(at)autouncle(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org list" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Best practice when reindexing in production
Date: 2013-05-29 12:26:18
Message-ID: CABUevEwTpY-212h0hQEWYhUvhCTGL-NtHJryackpOE8WXd_Oqg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, May 29, 2013 at 8:24 AM, Niels Kristian Schjødt
<nielskristian(at)autouncle(dot)com> wrote:
> Hi,
>
> I have a database with quite some data (millions of rows), that is heavily updated all the time. Once a day I would like to reindex my database (and maybe re cluster it - don't know if that's worth it yet?). I need the database to be usable while doing this (both read and write). I see that there is no way to REINDEX CONCURRENTLY - So what approach would you suggest that I take on this?

If you have the diskspaec, it's generally a good idea to do a CREATE
INDEX CONCURRENTLY, and then rename the new one into place (typically
in a transaction). (If your app, documentation or dba doesn't mind the
index changing names, you don't need to rename of course, you can just
drop the old one).

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Armand du Plessis 2013-05-29 12:30:45 Re: Best practice when reindexing in production
Previous Message Niels Kristian Schjødt 2013-05-29 12:24:14 Best practice when reindexing in production