Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_repack своим способом индексы перестраивает или стандартным? / 7 сообщений из 7, страница 1 из 1
10.02.2021, 12:55
    #40043955
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
Добрый день.

Скажите, pg_repack как индексы перестраивает?

Для каждого создает конкурентно и оригинал дропает или там какой-то свой метод у него?
...
Рейтинг: 0 / 0
10.02.2021, 14:34
    #40044021
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911
...
Рейтинг: 0 / 0
10.02.2021, 15:09
    #40044044
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
Melkij
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?
...
Рейтинг: 0 / 0
10.02.2021, 15:43
    #40044058
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
lr2
Melkij
lr2,

Если говорим про репак таблицы - индексы строит без concurrently на новой таблице, заменяет одновременно и таблицу и все индексы.
Если говорим про --only-indexes - индексы строятся с concurrently, заменяются все одновременно, затем drop index concurrently https://github.com/reorg/pg_repack/blob/master/bin/pg_repack.c#L1911



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?


как таблица + индексы + запас на wal и временные файлы на построение индексов + еще одна копия таблицы если у вас logical replication живет на базе...


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
10.02.2021, 15:47
    #40044060
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
Maxim Boguk
lr2
пропущено...



Спасибо за информацию.

А для первого способа получается какой доступный объем на диске надо иметь? Как таблица + индексы?


как таблица + индексы + запас на wal и временные файлы на построение индексов + еще одна копия таблицы если у вас logical replication живет на базе...


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru



Ого, получается таблица, например 1Tb, индексы 0.3Tb в итоге понадобится:

как таблица (1) + индексы (0.3)+ запас на wal (примерно 0.2) и временные файлы на построение индексов (0.3) + еще одна копия таблицы если у вас logical (не совсем понял, но логической репликации нет)

1.8 Тб получается приблизительно потребуется?
...
Рейтинг: 0 / 0
10.02.2021, 16:38
    #40044084
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
lr2


Ого, получается таблица, например 1Tb, индексы 0.3Tb в итоге понадобится:

как таблица (1) + индексы (0.3)+ запас на wal (примерно 0.2) и временные файлы на построение индексов (0.3) + еще одна копия таблицы если у вас logical (не совсем понял, но логической репликации нет)

1.8 Тб получается приблизительно потребуется?


Да как то так...
а если вы используете еще -o, --order-by=COLUMNS - то еще место под ЕЩЕ одну полную копию таблицы в временных файлов для сортировки (но без индексов).


как альтернативу можно попробовать разработку которую я начал много лет назад
pgcompacttable
https://github.com/dataegret/pgcompacttable

которая работает принципиально иным образом и не требует дополнительного места почти
но конечно работает сильно медленнее (впрочем спешить особо смысла в этом деле нет).


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
10.02.2021, 16:39
    #40044086
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pg_repack своим способом индексы перестраивает или стандартным?
lr2,

А вы уверенны что у вас bloat на таблице большой?
что показывает pgstattuple_approx по ней?


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_repack своим способом индексы перестраивает или стандартным? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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