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.

→ Ссылка