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

Всем добрый день! Возможно кто-то уже сталкивался с такой проблемой и

сможет подсказать как ее можно решить.
Суть проблемы:
Есть таблица XXX размером 260GB. Если выполнять запрос вида:

SELECT date, count(*) FROM XXX GROUP BY date;

то он выходит за рамки work_mem, не использует временные файлы и в конце концов утилизирует всю память на сервере. Параллелизм выключен, запрос работает в один поток.
Потом приходит OOM Killer и принудительно завершает процесс.
Почему такой запрос выходит за рамки work_mem и не использует временные файлы?
Про оптимизацию запроса речь не идет…

name | setting | unit
----------+---------+------+
work_mem | 297 | kB


При work_mem ≤ ~297kB база не падает и не сжирает всю память а работает с temp
/….._temp (postgresql.conf temp_tablespaces = temp_space)

2 12:34:11 2019 48M /…._temp
2 12:34:28 2019 76M /….._temp
2 12:35:01 2019 137M /….._temp

1 ответов

7 просмотров

> Почему такой запрос выходит за рамки work_mem и не использует временные файлы? Потому что work_mem ни в кое случае не является жёстким ограничением. Т.е. смотрите план запроса (обычный EXPLAIN). > Потом приходит OOM Killer и принудительно завершает процесс. А это — ошибка в настройке OS.

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта