powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / необходимость выполнения reindex
6 сообщений из 6, страница 1 из 1
необходимость выполнения reindex
    #38951677
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
Добрый день! У меня есть несколько таблиц, которые часто изменяются и в основном это insert, но для одной часто выполняется delete. Каждый день, в определенное время выполняется VACUUM FULL ANALYZE для всех этих таблиц, всё было хорошо, довольно длительное время. Но вот недавно возникла ситуация, что на одной из этих таблиц пропал индекс, но мы к сожалению не уверены был ли он точно раньше. Я читал, что индексы слетают только при неполадках железа. Хотелось бы узнать, нужно ли мне дополнительно, каждый день, выполнять для этих таблиц REINDEX? И вообще хотелось бы узнать, в каких случаях REINDEX выполняется систематически?
...
Рейтинг: 0 / 0
необходимость выполнения reindex
    #38951699
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gk2Добрый день! У меня есть несколько таблиц, которые часто изменяются и в основном это insert, но для одной часто выполняется delete. Каждый день, в определенное время выполняется VACUUM FULL ANALYZE для всех этих таблиц, всё было хорошо, довольно длительное время. Но вот недавно возникла ситуация, что на одной из этих таблиц пропал индекс, но мы к сожалению не уверены был ли он точно раньше. Я читал, что индексы слетают только при неполадках железа. Хотелось бы узнать, нужно ли мне дополнительно, каждый день, выполнять для этих таблиц REINDEX? И вообще хотелось бы узнать, в каких случаях REINDEX выполняется систематически?

А что значит пропал? И каким образом от этого reindex поможет?
Пропал - значит или его не было с самого начала или его дропнули руками.

>И вообще хотелось бы узнать, в каких случаях REINDEX выполняется систематически?
Не в каких на самом деле. Впрочем полезно сделать если вы больше 50% строк в таблице удалили.

PS: vacuum full каждый день тоже идея странная и не нужная.

PPS: если у вас версия базы 9.2+ то vacuum full индексы тоже перестроит с нуля.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
необходимость выполнения reindex
    #38951804
gk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gk2
Гость
>А что значит пропал? И каким образом от этого reindex поможет?
>Пропал - значит или его не было с самого начала или его дропнули руками.

Скорей всего вы правы, его просто не было. Кстати, мы недавно восстанавливали эти таблицы из бекапа, таким вот образом: pg_restore -n имя_схемы -t имя_таблицы... Возможно индексы не восстановились...

>PS: vacuum full каждый день тоже идея странная и не нужная.
Вы правы, я пожалуй перенесу эту процедуру на выполнение раз в неделю, а может и месяц.

Спасибо Максим!
...
Рейтинг: 0 / 0
необходимость выполнения reindex
    #38951812
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk >И вообще хотелось бы узнать, в каких случаях REINDEX выполняется систематически?
Не в каких на самом деле. Впрочем полезно сделать если вы больше 50% строк в таблице удалили.
у меня есть таблички логической блокировки ресурсов уеб--сеансами. там периодически 5000% дед ровсов. вакуумлю (ANALYZE без full) джобом раза два в час. (хотя и раз в минуту -- было бы не вредно -- их там есть). Индекс, на <1000 постоянно активных записей распухает до 10 МБ (там уникъю==pk используется в качестве разделяемого ресурса).



Хотелось бы для таких целей табличку -- блокировочник . Было бы удобно, думается. (ко-то из мс-скльщиков [с таким антипаттерном] плакался лет несколько тому, что к пж не смог приладиться -- именно из-за безмерно опухающих индексов).

Ну и с реиндексом без окна обслуживания приходится прыгать в Try -- exept , со снятием по времени. (переделать на не pk руки не доходят).

вполне допускаю, что ошибка дизайна, но других нет. приехало решение с оракла. там вроде бы жило без проблем.
...
Рейтинг: 0 / 0
необходимость выполнения reindex
    #38951909
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gk2>Вы правы, я пожалуй перенесу эту процедуру на выполнение раз в неделю, а может и месяц.


а может лучше автовакуум настроить чтобы почаще вызывался? если длинных транзакций нет, то должно помочь.

qwwqу меня есть таблички логической блокировки ресурсов уеб--сеансами. там периодически 5000% дед ровсов. вакуумлю (ANALYZE без full) джобом раза два в час. (хотя и раз в минуту -- было бы не вредно -- их там есть). Индекс, на <1000 постоянно активных записей распухает до 10 МБ (там уникъю==pk используется в качестве разделяемого ресурса).

а зачем вручную вакуум делать? настройки автовакуума можно per table сколь угодно дикие прописать для этой таблицы.
...
Рейтинг: 0 / 0
необходимость выполнения reindex
    #38951946
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqMaxim Boguk >И вообще хотелось бы узнать, в каких случаях REINDEX выполняется систематически?
Не в каких на самом деле. Впрочем полезно сделать если вы больше 50% строк в таблице удалили.
у меня есть таблички логической блокировки ресурсов уеб--сеансами. там периодически 5000% дед ровсов. вакуумлю (ANALYZE без full) джобом раза два в час. (хотя и раз в минуту -- было бы не вредно -- их там есть). Индекс, на <1000 постоянно активных записей распухает до 10 МБ (там уникъю==pk используется в качестве разделяемого ресурса).



Хотелось бы для таких целей табличку -- блокировочник . Было бы удобно, думается. (ко-то из мс-скльщиков [с таким антипаттерном] плакался лет несколько тому, что к пж не смог приладиться -- именно из-за безмерно опухающих индексов).

Ну и с реиндексом без окна обслуживания приходится прыгать в Try -- exept , со снятием по времени. (переделать на не pk руки не доходят).

вполне допускаю, что ошибка дизайна, но других нет. приехало решение с оракла. там вроде бы жило без проблем.

На таких таблицах и таком профиле использования любые транзакции длиннее 1 минуты (включая pg_dump) должны быть запрещены. Иначе да - будут пухнуть и таблицы и (несколько меньше) индексы.
Врожденное свойство postgresql увы, зато rollback очень дешевый ;).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / необходимость выполнения reindex
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]