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 <sawada.mshk@gmail.com>) |
Ответы |
Re: Concurrently option for reindexdb
|
Список | pgsql-hackers |
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...). > ToDo > - Multi language support for log message. Why? I am not sure that's something you should deal with. -- Michael
В списке pgsql-hackers по дате отправления: