Postgresql 15 и TimescaleDB падают запросы
Используется Postres 15 и TimesacaleDB.
При попытке что то удалить из таблицы Timescale, база улетает в recovery. Пример:
DELETE FROM visits_hits WHERE date between '2023-06-01' AND '2023-06-02';
При попытке декомпресии чанков, база улетает в recovery. Пример:
SELECT decompress_chunk(c, true) FROM show_chunks('visits_hits', '2023-09-06'::date, '2023-05-26'::date) c;
Есть ли идеи как это можно пофиксить?
Выдержка из логов постгреса:
2024-04-04 11:47:16.239 MSK (00000) [2612269] LOG: server process (PID 3332982) was terminated by signal 11: Segmentation fault
2024-04-04 11:47:16.239 MSK (00000) [2612269] DETAIL: Failed process was running: SELECT decompress_chunk(c, true) FROM show_c hunks('visits_hits', '2023-09-06'::date, '2023-05-26'::date) c
2024-04-04 11:47:16.239 MSK (00000) [2612269] LOG: terminating any other active server processes
2024-04-04 11:47:16.242 MSK (00000) [2612269] LOG: all server processes terminated; reinitializing
2024-04-04 11:47:16.464 MSK (00000) [3333015] LOG: database system was interrupted; last known up at 2024-04-04 11:44:32 MSK
2024-04-04 11:47:16.609 MSK (00000) [3333015] LOG: database system was not properly shut down; automatic recovery in progress
2024-04-04 11:47:16.613 MSK (00000) [3333015] LOG: redo starts at 120A/2DC7E9F8
2024-04-04 11:47:19.185 MSK (00000) [3333015] LOG: invalid record length at 120A/613F1390: wanted 24, got 0
2024-04-04 11:47:19.185 MSK (00000) [3333015] LOG: redo done at 120A/613F1358 system usage: CPU: user: 1.90 s, system: 0.66 s, elapsed: 2.57 s
2024-04-04 11:47:19.193 MSK (00000) [3333016] LOG: checkpoint starting: end-of-recovery immediate wait
2024-04-04 11:47:20.140 MSK (00000) [3333016] LOG: checkpoint complete: wrote 101958 buffers (11.1%); 0 WAL file(s) added, 52 removed, 0 recycled; write=0.770 s, sync=0.003 s, total=0.948 s; sync files=221, longest=0.002 s, average=0.001 s; distance=843210 kB, estimate=843210 kB
2024-04-04 11:47:20.176 MSK (00000) [2612269] LOG: database system is ready to accept connections
2024-04-04 11:47:20.177 MSK (00000) [3333065] LOG: TimescaleDB background worker launcher connected to shared catalogs
Ответы (1 шт):
Проверить версии установленной СУБД и TimescaleDB расширения. Поставить минорные обновления если доступны.
Если Segmentation fault
будет продолжать происходить на актуальных версиях - то поставить dbgsym
пакеты базы и TimescaleDB, gdb
, включить снятие core dumps
в вашей операционной системе (зависит от ОС, конечно, в linux смотрите по направлению /proc/sys/kernel/core_pattern
, нужно что-то вроде core.%e.%p.SIG%s.%t
)
Затем через gdb
открыть сформированный при Segmentation fault core dump
, выполнить команду backtrace
и с полученным листингом пойти открывать багрепорт к postgresql или TimescaleDB. Скорей всего сперва именно к разработчикам TimescaleDB.