Thread: Re[2]: [pgsql-ru-general] индекс & автовакуум? & как понять проблему?


REINDEX INDEX


Понедельник, 16 ноября 2015, 20:47 +03:00 от "Dmitry E. Oboukhov" <unera@debian.org>:

насчет фрагментации мысль подтвердилась:

перестроил CONCURENTLY индекс, а старый удалил - в итоге новый индекс
уже в 6 раз меньше занимает.

вопрос тогда еще: можно ли дефрагментировать один индекс как-то?
--

. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

> REINDEX INDEX

это я понимаю, я думал есть какая-то возможность сделать это не
блокируя базу.



>> Понедельник, 16 ноября 2015, 20:47 +03:00 от "Dmitry E. Oboukhov"
>> <unera@debian.org>:

>> насчет фрагментации мысль подтвердилась:

>> перестроил CONCURENTLY индекс, а старый удалил - в итоге новый индекс
>> уже в 6 раз меньше занимает.

>> вопрос тогда еще: можно ли дефрагментировать один индекс как-то?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment

17 нояб. 2015 г., в 12:08, Dmitry E. Oboukhov <unera@debian.org> написал(а):


REINDEX INDEX

это я понимаю, я думал есть какая-то возможность сделать это не
блокируя базу.

Используй pg_repack, Люк.




Понедельник, 16 ноября 2015, 20:47 +03:00 от "Dmitry E. Oboukhov"
<unera@debian.org>:

насчет фрагментации мысль подтвердилась:

перестроил CONCURENTLY индекс, а старый удалил - в итоге новый индекс
уже в 6 раз меньше занимает.

вопрос тогда еще: можно ли дефрагментировать один индекс как-то?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
 `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537


--
Да пребудет с вами сила…

pg_repack требует в два раза больше места чем есть, что не всегда можно иметь.
Есть замечательный инструмент от компании PostgreSQL-Consulting
https://github.com/PostgreSQL-Consulting/pgcompacttable
по сути это скрипт на Perl
Это позволяет сжать таблицу + индексы в online.
Я кстати его запускаю на windows (ActivePerl), единственное столкнулся с проблемой - функция getpwuid($<) (её просто нет в реализации под windows)
Поискав.. нашел решение - заменить на getlogin()
Заработало.

вт, 17 нояб. 2015 г. в 12:52, Vladimir Borodin <root@simply.name>:

17 нояб. 2015 г., в 12:08, Dmitry E. Oboukhov <unera@debian.org> написал(а):


REINDEX INDEX

это я понимаю, я думал есть какая-то возможность сделать это не
блокируя базу.

Используй pg_repack, Люк.




Понедельник, 16 ноября 2015, 20:47 +03:00 от "Dmitry E. Oboukhov"
<unera@debian.org>:

насчет фрагментации мысль подтвердилась:

перестроил CONCURENTLY индекс, а старый удалил - в итоге новый индекс
уже в 6 раз меньше занимает.

вопрос тогда еще: можно ли дефрагментировать один индекс как-то?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
 `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537


--
Да пребудет с вами сила…

--
-- 
Yours faithfully, Sergey Grinko
Email: sergey.grinko@gmail.com