Re: Concurrently option for reindexdb
От
Michael Paquier
Тема
Re: Concurrently option for reindexdb
Дата
Msg-id
CAB7nPqTOUOoMT=HQUvTu5PJQu0Tt1Wd0zfhihsidfsf2BKE7bg@mail.gmail.com
Ответ на
Concurrently option for reindexdb (Sawada Masahiko)
Список
Дерево обсуждения
Concurrently option for reindexdb Sawada Masahiko <sawada.mshk@gmail.com>
Re: Concurrently option for reindexdb Craig Ringer <craig@2ndquadrant.com>
Re: Concurrently option for reindexdb Sawada Masahiko <sawada.mshk@gmail.com>
Re: Concurrently option for reindexdb Craig Ringer <craig@2ndquadrant.com>
Re: Concurrently option for reindexdb Fujii Masao <masao.fujii@gmail.com>
Re: Concurrently option for reindexdb Michael Paquier <michael.paquier@gmail.com>
Re: Concurrently option for reindexdb Sawada Masahiko <sawada.mshk@gmail.com>
Re: Concurrently option for reindexdb Fujii Masao <masao.fujii@gmail.com>
Re: Concurrently option for reindexdb Michael Paquier <michael.paquier@gmail.com>
Re: Concurrently option for reindexdb Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Concurrently option for reindexdb Andres Freund <andres@anarazel.de>
Re: Concurrently option for reindexdb Fujii Masao <masao.fujii@gmail.com>
Re: Concurrently option for reindexdb Michael Paquier <michael.paquier@gmail.com>
Re: Concurrently option for reindexdb Andres Freund <andres@anarazel.de>
Re: Concurrently option for reindexdb Michael Paquier <michael.paquier@gmail.com>
Re: Concurrently option for reindexdb Sawada Masahiko <sawada.mshk@gmail.com>
On Mon, Aug 25, 2014 at 3:36 PM, Sawada Masahiko 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...). > ToDo > - Multi language support for log message. Why? I am not sure that's something you should deal with. -- Michael
В списке pgsql-hackers по дате отправления