172 похожих чатов

Мозг, имеем Пг версии 11.5. Есть таблица на которой довольно

большая нагрузка. Оттуда удаляется колонка (колонка в запросах не используется). Размер базы распух в 2,5 раза где-то за пару минут (мы чуть не влетели в out of disk space), аварийно тормознули Пг, запустили заново размер базы вернулся в нормальное состояние.
Что это было? Почему так сильно распухла база? Что с этим делать?

Частично ответ я думаю что знаю: Пг, при удалении колонки на самом деле ее не удаляет, удаление происходит при SELECT'е судя по всему, но откуда в 2,5 раза-то? Тем более что база далеко не из одной этой таблицы состоит. Конкретные размеры базы и таблицы, если надо, приведу. Но все-таки вопросы остаются актуальными.

19 ответов

7 просмотров

Ну он потер ссылку на столбец, а потом видимо начал вакуум делать, чтобы данные из таблицы рядом на диске лежали

Warstone- Автор вопроса
Константин Коломейцев ☭
Ну он потер ссылку на столбец, а потом видимо нача...

Откуда 2,5 раза? (Для таблицы это не 2,5 это сильно больше)

Warstone
Откуда 2,5 раза? (Для таблицы это не 2,5 это сильн...

Тут уже из логов надо анализировать. Если было чисто удаление столбца без запуска руками вакуума и прочего, так не могло случиться. А столбец индексируемый был? Может ещё и в составном индексе? Были ссылки на него? Вариантов много, так с лету наверно никто не скажет

Warstone- Автор вопроса
Warstone
Вакуум не запускали. В индексах его небыло.

Тогда логи только. Я в 170гб таблице удалял столбцы, проблем не было

Автовакум пошел

Warstone- Автор вопроса
Даниил Агниашвили
В htop смотрели?

Смотрели. И запросы которые 10мс по 4 секунды выполнялись и диск задрачивали по страшному.

Warstone
Смотрели. И запросы которые 10мс по 4 секунды выпо...

по описанию похоже, что I/O был занят, значит можно предположить, что дефрагментация или типа того производилась

Warstone- Автор вопроса
Александр Костюченко
по описанию похоже, что I/O был занят, значит можн...

IO был забит Пг. дефрагментация на никсах - это что-то новенькое.

Warstone
IO был забит Пг. дефрагментация на никсах - это чт...

а причем тут Ось? Файловые системы подвержены фрагментации, может вы имели ввиду ssd/hard?

> Конкретные размеры базы и таблицы, если надо, приведу. Приведите (до и после, за счёт чего "размер базы распух в 2,5 раза"). Вы какую-то очень странную ситуацию описываете, на первый взгляд. > Пг, при удалении колонки на самом деле ее не удаляет На самом деле это metadata operation, т.е. она, по сути, почти ничего не делает и должна выполняться мгновенно (если ей удаётся получить lock) независимо от размера таблицы.

Warstone- Автор вопроса
Yaroslav Schekin
> Конкретные размеры базы и таблицы, если надо, пр...

=> SELECT pg_size_pretty( pg_total_relation_size('...') ); pg_size_pretty ---------------- 13 GB (1 row) => SELECT pg_size_pretty( pg_database_size('...') ); pg_size_pretty ---------------- 159 GB (1 row) В момент перед тушением базы общий размер был около 400Гб

Warstone
=> SELECT pg_size_pretty( pg_total_relation_size('...

А это "до" или "после"? И из этого неясно, за счёт чего база росла...

Warstone- Автор вопроса
Warstone
=> SELECT pg_size_pretty( pg_total_relation_size('...

> В момент перед тушением базы общий размер был около 400Гб Базы, полученный этим же запросом? А за счёт чего, не выявили (если нет — можно только гадать)?

Warstone- Автор вопроса
Yaroslav Schekin
> В момент перед тушением базы общий размер был ок...

Нет. Там мониторинг диска был. Сам запрос никто не думал тогда выполнять. Не до того было

Warstone
Нет. Там мониторинг диска был. Сам запрос никто не...

Может, он просто врёт? ;) Это же самое простое объяснение, на самом деле...

Warstone- Автор вопроса
Yaroslav Schekin
Может, он просто врёт? ;) Это же самое простое объ...

Ну он сейчас показывает те-же объемы. И нет... Там IO дикое было и задержки запросов. То есть не врал.

Похожие вопросы

Обсуждают сегодня

ого, прикольно, а что пишешь?
CodWiz | Серёжа by CodWiz
32
А что за прикол,типа тут я никого не найду получается?
🥀
17
а почему бы не поведать миру эти дополнения, сделав их по сути стандартными для ide ?
Mixail Frolov
26
Хочу поинтересоваться,для кого-то сейчас актуально изучение языков? Поделюсь материалами по иностранным языкам.
Дима
12
А как ребята типа теле2 зашли? У них же пополнение баланса моментальное
Alexandr Dubickiy
22
Здравствуйте. Какое условие необходимо, что бы приложение скомпилированное лазарусом в ubuntu запускалось на astra linux?
Эдуард Щербаков
21
Нужно найти номер позиции, с которой начинается подстрока S2 в строке S1. lea di, s1 ;Строка lea si, s2 Подстрока again: mov al, [si] mov ah, 02 ...
Ыиу
11
@AidynMakhatayev @mmazga , не помните\знаете как была организована работа с krakenD? 🤔 Сейчас смотрю в его сторону, встали вопросы о том: 1)чтобы подкидывать в него свагер акт...
DK K
6
.model small .stack 100h .data x db ? y db ? equation db 10, 5, -20 result db ? .code main proc mov ax, @data mov ds, ax ; Ввод координат x и y ...
Mr Beast
1
Привет Вам, Гуру вапора Смею обратиться с вопросом, по какой причине не сохраняются куки через request.client.send(get) и urlsession? Опишу чуть точнее: - есть первый запрос, ...
Alexander Orlov
10
Карта сайта