Re: Creating an index on a live database - Mailing list pgsql-general

From Alan Hodgson
Subject Re: Creating an index on a live database
Date
Msg-id 200702060954.08303@hal.medialogik.com
Whole thread Raw
In response to Creating an index on a live database  (John McCawley <nospam@hardgeus.com>)
List pgsql-general
On Tuesday 06 February 2007 09:38, John McCawley <nospam@hardgeus.com>
wrote:
> I have a table with a few million rows which has inserts performed on it
> roughly 50 or so times a minute.  It contains a heavily-queried column
> that I would like to add an index to, but I am concerned about a
> deadlock occurring.  Should I wait until downtime to add the index, or
> is the Postgres add index command "nice" enough to avoid deadlocks?

It won't deadlock, but it will lock out writes for the duration of the index
creation (the transactions it locks out will just pause until the lock is
released).

If you're running 8.2, though, I believe you can CREATE INDEX CONCURRENTLY,
which will create the index without requiring the write lock on the table.

--
Opportunity is missed by most people because it is dressed in overalls and
looks like work. - Thomas Edison


pgsql-general by date:

Previous
From: "Thomas F. O'Connell"
Date:
Subject: Re: PostgreSQL on Solaris: Changing Compilers During Point Upgrade
Next
From: Ron Johnson
Date:
Subject: Re: PostgreSQL/FireBird