From: Markus Bertheau <mbertheau.pg@googlemail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joshua D. Drake <jd@commandprompt.com>
Cc: Scott Marlowe <scott.marlowe@gmail.com>
Cc: Peter Koczan <pjkoczan@gmail.com>
Cc: pgsql-performance <pgsql-performance@postgresql.org>
Subject: Re: disabling an index without deleting it?
Date: Wed, 27 Feb 2008 08:48:06 +0600
Message-ID: <684362e10802261848j79686752k6dfbe032e985b131@mail.gmail.com> (raw)
In-Reply-To: <9050.1204064560@sss.pgh.pa.us>
References: <4544e0330802261246t574167fdpc47629d1bbe64fed@mail.gmail.com>
<dcc563d10802261257h6abfbc92x62a7569b8610ecc4@mail.gmail.com>
<20080226130339.64bd4ec3@commandprompt.com>
<9050.1204064560@sss.pgh.pa.us>
2008/2/27, Tom Lane <tgl@sss.pgh.pa.us>:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
> > "Scott Marlowe" <scott.marlowe@gmail.com> wrote:
>
> >> begin;
> >> drop index abc_dx;
> >> select ....
> >> rollback;
> >>
> >> and viola, your index is still there. note that there are likely some
> >> locking issues with this, so be careful with it in production. But on
> >> a test box it's a very easy way to test various indexes.
>
> > Wouldn't you also bloat the index?
>
>
> No, what makes you think that? The index won't change at all in the
> above example. The major problem is, as Scott says, that DROP INDEX
> takes exclusive lock on the table so any other sessions will be locked
> out of it for the duration of your test query.
Why is the exclusive lock not taken later, so that this method can be
used reasonably risk-free on production systems? From what I
understand the later would be either a statement that would
(potentially) be modifying the index, like an UPDATE or an INSERT, or
actual transaction commit. If none of these occur and the transaction
is rollbacked, the exclusive lock doesn't have to be taken at all.
Markus
--
Markus Bertheau
Blog: http://www.bluetwanger.de/blog/
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: mbertheau.pg@googlemail.com, tgl@sss.pgh.pa.us, jd@commandprompt.com, scott.marlowe@gmail.com, pjkoczan@gmail.com
Subject: Re: disabling an index without deleting it?
In-Reply-To: <684362e10802261848j79686752k6dfbe032e985b131@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox