Re: [pgsql-ru-general] TOAST и борьба с разбуханием этой таблицы.
От | Alexey Vasiliev |
---|---|
Тема | Re: [pgsql-ru-general] TOAST и борьба с разбуханием этой таблицы. |
Дата | |
Msg-id | 1421934305.663235219@f75.i.mail.ru обсуждение исходный текст |
Ответ на | TOAST и борьба с разбуханием этой таблицы. (Warstone@list.ru <warstone@list.ru>) |
Ответы |
Re[2]: [pgsql-ru-general] TOAST и борьба с разбуханием этой таблицы.
|
Список | pgsql-ru-general |
Можно воспользоваться https://github.com/reorg/pg_repack Он то точно это пофиксит, но он создает новую таблицу, в которую переливает данные. Тоесть потребуется 2X места таблицы,которую будете фиксить. Тут чуть больше информации: http://postgresql.leopard.in.ua/html/#pg_repack Thu, 22 Jan 2015 16:25:53 +0300 от Warstone@list.ru <warstone@list.ru>: > Как известно у Пг есть некоторая проблема с TOAST'ами. Обычно она лечится более агрессивным вакуумом или чем-то подобным. > > Если копнуть глубже, то тоаст таблицы - это обычные таблицы Пг, где просто хранятся данные. Начать копать можно отсюда: http://www.postgresql.org/docs/9.3/static/storage-toast.html > Смысл в том, что у этой таблицы так-же есть ctid. > > Так-же есть очень полезная тула pgcompactor, которая часть тулкита https://github.com/grayhemp/pgtoolkit > > Смысл той тулы - посмотреть сколько есть свободного места, если есть, то обновлять последние записи на диске до тех пор,пока они не уйдут на страницу выше, освобождая текущую страницу и позволяя, таким образом, сделать VACUUM FULL без полноголока таблицы. Один минус - она не умеет тоасты. Проблема заключается в том, что нельзя апдейтить напрямую в тоасты. > > Собственно 2 вопроса: > 1) Как понять какой chunk_id какой записи принадлежит? > 2) Как все-таки апдейтнуть тоаст таблицу не входя в спец режим? > > Просто очень хочется получить эту возможность для тоастов. > > -- > Nick unnoun -- Alexey Vasiliev
В списке pgsql-ru-general по дате отправления: