Tuple offset out of range: 0

Всем привет,

Получаю очень странную ошибку, когда пытаюсь выполнить запросы к партицированной таблице, в которой около 30_000_000 строк. Таблица партициована по колонке 'check_in' на части 'tours_201309p1', 'tours_201309p2', 'tours_201309p3', 'tours_201310p1' и так далее.

При попытке выполнять запросы к этой таблице в некоторых ситуациях я получаю ошибку "Tuple offset out of range: 0", но не всегда. Например следующий запрос работает и возвращает примерно 700_000 строк:

SELECT count(*)
FROM
"tours"
WHERE
(
(
"tours"."check_in" IN (
'2013-09-30',
'2013-10-02',
'2013-10-04',
'2013-10-05',
'2013-10-07',
'2013-10-09',
'2013-10-12',
'2013-10-13'
)
AND "tours"."nights_count" IN (7, 9, 12, 13, 15, 16, 6, 10, 11, 14, 8)
AND "tours"."departure_city_id" = 16914
AND "tours"."country_id" = 222
)
)

А вот этот (добавлено условие по 'vendor_accommodation_id') не работает:

SELECT count(*)
FROM
"tours"
WHERE
(
(
"tours"."check_in" IN (
'2013-09-30',
'2013-10-02',
'2013-10-04',
'2013-10-05',
'2013-10-07',
'2013-10-09',
'2013-10-12',
'2013-10-13'
)
AND "tours"."nights_count" IN (7, 9, 12, 13, 15, 16, 6, 10, 11, 14, 8)
AND "tours"."departure_city_id" = 16914
AND "tours"."country_id" = 222
AND "tours"."vendor_accommodation_id" = 2254
)
)

От типа запроса (SELECT, DELETE) результат не зависит.
Что посоветуете? Спасибо.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Погуглил Вашу ошибку,

Изображение Игорь

Погуглил Вашу ошибку, появилось несколько предложений:
1. Битая память, физически.
2. Нехватка памяти
ПС: перенести таблицу на другое железо(если есть возможности)

3. Повреждение данных
4. Старая версия постгреса, обновить
5. выполнить вакуум и реиндексировать таблицу.

ПС: Чтобы Вы не нечали делать, вначале сделайте бэкап.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023