postgres падает при выполнении запроса
Смысл в запросе не ищите. Я пытался понять изза чего падает и по максимому урезал.
В postgres запрос выглядит вот так
Изза чего это может быть?
ВЫБРАТЬ
РезультатыОбменаДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
ВЫБОР
КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных))
ТОГДА НЕОПРЕДЕЛЕНО
ИНАЧЕ 3
КОНЕЦ КАК ДействиеПриОбмене,
КОЛИЧЕСТВО(различные РезультатыОбменаДанными.ПроблемныйОбъект) КАК Количество
ИЗ
РегистрСведений.РезультатыОбменаДанными КАК РезультатыОбменаДанными
СГРУППИРОВАТЬ ПО
РезультатыОбменаДанными.УзелИнформационнойБазы,
ВЫБОР
КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных))
ТОГДА НЕОПРЕДЕЛЕНО
ИНАЧЕ 3
КОНЕЦ
ПоказатьСмысл в запросе не ищите. Я пытался понять изза чего падает и по максимому урезал.
В postgres запрос выглядит вот так
SEL ECT T1._FLD78284_TYPE,
T1._FLD78284_RTREF,
T1._FLD78284_RRREF,
CASE
WHEN (T1._FLD78283RREF IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::BYTEA)) THEN '\\001'::BYTEA
ELSE '\\003'::BYTEA
END,
CASE
WHEN (T1._FLD78283RREF IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::BYTEA)) THEN CAST(0 AS NUMERIC)
ELSE CAST(3 AS NUMERIC)
END, (COUNT(DISTINCT CASE WHEN T1._FLD78286_TYPE = '\\001'::BYTEA THEN '\\001'::BYTEA END) + COUNT(DISTINCT CASE WHEN T1._FLD78286_TYPE = '\\010'::BYTEA THEN T1._FLD78286_RTREF || T1._FLD78286_RRREF END))
FR OM _INFORG78282 T1
WHERE (T1._FLD3035 = CAST(0 AS NUMERIC))
GROUP BY T1._FLD78284_TYPE,
T1._FLD78284_RTREF,
T1._FLD78284_RRREF,
CASE
WHEN (T1._FLD78283RREF IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::BYTEA)) THEN '\\001'::BYTEA
ELSE '\\003'::BYTEA
END,
CASE
WHEN (T1._FLD78283RREF IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::BYTEA)) THEN CAST(0 AS NUMERIC)
ELSE CAST(3 AS NUMERIC)
END
ПоказатьИзза чего это может быть?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
2024-03-11 05:35:44.046 EDT [643] СООБЩЕНИЕ: процесс сервера (PID 507045) был завершён по сигналу 11: Ошибка сегментирования
2024-03-11 05:35:44.046 EDT [643] ПОДРОБНОСТИ: Завершившийся процесс выполнял действие: SEL ECT
T1._Fld78284_TYPE,
T1._Fld78284_RTRef,
T1._Fld78284_RRRef,
CASE WHEN (T1._Fld78283RRef IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::bytea)) THEN '\\001'::bytea ELSE '\\003'::bytea END,
CASE WHEN (T1._Fld78283RRef IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::bytea)) THEN CAST(0 AS NUMERIC) ELSE CAST(3 AS NUMERIC) END,
(COUNT(DISTINCT CASE WHEN T1._Fld78286_TYPE = '\\001'::bytea THEN '\\001'::bytea END) + COUNT(DISTINCT CASE WHEN T1._Fld78286_TYPE = '\\010'::bytea THEN T1._Fld78286_RTRef || T1._Fld78286_RRRef END))
FR OM _InfoRg78282 T1
WHERE (T1._Fld3035 = CAST(0 AS NUMERIC))
GROUP BY T1._Fld78284_TYPE,
T1._Fld78284_RTRef,
T1._Fld78284_RRRef,
CASE WHEN (T1._Fld78283RRef IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::bytea)) THEN '\\001'::bytea ELSE '\\003'::bytea END,
CASE WHEN (T1._Fld78283RRef IN ('\\202\\367&n\\360\\213\\206WH<d\\0073\\223\\230\\300'::bytea)) THEN CAST(0 AS NUMERIC) ELSE CAST(3 AS NUMERIC) END
2024-03-11 05:35:44.046 EDT [643] СООБЩЕНИЕ: завершение всех остальных активных серверных процессов
2024-03-11 05:35:44.060 EDT [643] СООБЩЕНИЕ: все серверные процессы завершены... переинициализация
2024-03-11 05:35:44.555 EDT [643] СООБЩЕНИЕ: Start CFS version 0.54 supported compression algorithms pglz,zlib,lz4,zstd encryption disabled GC enabled
2024-03-11 05:35:44.597 EDT [507049] ВАЖНО: система баз данных в режиме восстановления
2024-03-11 05:35:44.604 EDT [507050] ВАЖНО: система баз данных в режиме восстановления
2024-03-11 05:35:44.610 EDT [507051] ВАЖНО: система баз данных в режиме восстановления
2024-03-11 05:35:44.917 EDT [643] СООБЩЕНИЕ: Start CFS version 0.54 supported compression algorithms pglz,zlib,lz4,zstd encryption disabled GC enabled
2024-03-11 05:35:44.958 EDT [507052] СООБЩЕНИЕ: работа системы БД была прервана; последний момент работы: 2024-03-11 05:35:42 EDT
2024-03-11 05:35:49.617 EDT [507096] ВАЖНО: система баз данных в режиме восстановления
2024-03-11 05:35:50.223 EDT [507052] СООБЩЕНИЕ: система БД была остановлена нештатно; производится автоматическое восстановление
2024-03-11 05:35:50.497 EDT [507052] СООБЩЕНИЕ: запись REDO начинается со смещения 5/A390718
2024-03-11 05:35:50.497 EDT [507052] СООБЩЕНИЕ: Start 1 background garbage collection workers for CFS
2024-03-11 05:35:50.497 EDT [507052] КОНТЕКСТ: запись REDO в WAL в позиции 5/A390718 для Heap/INPLACE: off: 18; blkref #0: rel 1664/0/1260, blk 0 FPW
2024-03-11 05:35:50.498 EDT [507052] СООБЩЕНИЕ: неверная длина записи в позиции 5/A391260: ожидалось минимум 28, получено 0
2024-03-11 05:35:50.498 EDT [507052] СООБЩЕНИЕ: записи REDO обработаны до смещения 5/A391210, нагрузка системы: CPU: пользов.: 0.00 с, система: 0.00 с, прошло: 0.00 с
2024-03-11 05:35:50.912 EDT [507053] СООБЩЕНИЕ: начата контрольная точка: end-of-recovery immediate wait
2024-03-11 05:35:50.937 EDT [507053] СООБЩЕНИЕ: контрольная точка завершена: записано буферов: 4 (0.0%); добавлено файлов WAL 0, удалено: 0, переработано: 0; запись=0.019 сек., синхр.=0.002 сек., всего=0.027 сек.; синхронизировано_файлов=3, самая_долгая_синхр.=0.001 сек., средняя=0.001 сек.; расстояние=2 kB, ожидалось=2 kB; lsn=5/A391260, lsn redo=5/A391260
2024-03-11 05:35:50.959 EDT [643] СООБЩЕНИЕ: система БД готова принимать подключения
Показать
Ошибка сегментирования - это внутренняя ошибка кода СУБД. Фактически это попытка обратиться к невыделенной памяти. Ну и PID 500к+ - это значит, что сервер лет сто не перезагружали. Стоит, полагаю, перезагрузить.
(1) Выбрать первые 1, с разными условиями, что бы записи разные попадали.
Если отработает, то надо сами данные смотреть.
По самому запросу - если в одну колонку помещать Неопределенно и числа порождает лишние группировки и поля. Собственно это видно.
Разные типы в одну колонку, без острой надобности лучше не помещать.
ПроблемныйОбъект - тоже составной тип?
Если отработает, то надо сами данные смотреть.
По самому запросу - если в одну колонку помещать Неопределенно и числа порождает лишние группировки и поля. Собственно это видно.
Разные типы в одну колонку, без острой надобности лучше не помещать.
ПроблемныйОбъект - тоже составной тип?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот