Re: Concurrently option for reindexdb - Mailing list pgsql-hackers

From Sawada Masahiko
Subject Re: Concurrently option for reindexdb
Date
Msg-id CAD21AoC0WsdQQQfZBY4NXexn8PLu+qeVzbjB=6owGer-_2kGPg@mail.gmail.com
Whole thread Raw
In response to Re: Concurrently option for reindexdb  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: Concurrently option for reindexdb
List pgsql-hackers
On Mon, Aug 25, 2014 at 3:48 PM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Mon, Aug 25, 2014 at 3:36 PM, Sawada Masahiko <sawada.mshk@gmail.com> wrote:
>> Attached WIP patch adds "-C (--concurrently)" option for reindexdb
>> command for concurrently reindexing.
>> If we specify "-C" option with any table then reindexdb do reindexing
>> concurrently with minimum lock necessary.
>> Note that we cannot use '-s' option (for system catalog) and '-C'
>> option at the same time.
>> This patch use simple method as follows.
>>
>> 1. Do "CREATE INDEX CONCURRENTLY" new index which has same definition
>> as target index
>> 2. Aquire ACCESS EXCLUSIVE LOCK to target table( and transaction starts)
>> 3. Swap old and new index
>> 4. Drop old index
>> 5. COMMIT
>>
>> These process are based on pg_repack(or pg_reorg) does, done via SQL.
>
> This would be a useful for users, but I am not sure that you can call
> that --concurrently as the rename/swap phase requires an exclusive
> lock, and you would actually block a real implementation of REINDEX
> CONCURRENTLY (hm...).
>

this might be difficult to call this as --concurrently.
It might need to be change the name.

>> ToDo
>> - Multi language support for log message.
> Why? I am not sure that's something you should deal with.

The log message which has been existed already are supported multi
language support using by .po file,
But newly added message has not corresponded message in .po file, I thought.

Regards,

-------
Sawada Masahiko



pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: minor config doc update
Next
From: Bernd Helmle
Date:
Subject: Re: Hardening pg_upgrade