Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / фильтр по индексу глючит / 8 сообщений из 8, страница 1 из 1
02.08.2018, 09:12
    #39682366
_avz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
есть индексированное поле varchar(150)
Код: plsql
1.
select * from таблица where поле = 'строка'


index scan, 0 строк
Код: plsql
1.
select *, поле='строка' from таблица where поле || '' = 'строка'


Seq scan, 5 строк, у всех (поле='строка') = true
Как такое может быть?
PostgreSQL 9.5.0, compiled by Visual C++ build 1800, 64-bit

PS reindex не помог.
...
Рейтинг: 0 / 0
02.08.2018, 09:18
    #39682368
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
_avzесть индексированное поле varchar(150)
Код: plsql
1.
select * from таблица where поле = 'строка'


index scan, 0 строк
Код: plsql
1.
select *, поле='строка' from таблица where поле || '' = 'строка'


Seq scan, 5 строк, у всех (поле='строка') = true
Как такое может быть?
PostgreSQL 9.5.0, compiled by Visual C++ build 1800, 64-bit

PS reindex не помог.

Для начала у вас 9.5.0 при том что текущая 9.5.13 (т.е. вы пропустили 13 bug-fix релизов за последние 4ре года).
Кроме этого пока идей нет.
Это для какого то конкретного значения строки срабатывает или для любых?
Я бы еще посоветовал поставить https://github.com/petergeoghegan/amcheck и проверить индекс с его помощью.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
02.08.2018, 09:19
    #39682369
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
_avz,

ну например
https://www.postgresql.org/docs/9.5/static/release-9-5-2.html
release notesDisable abbreviated keys for string sorting in non-C locales

Короче говоря, поставьте 3 года минорных апдейтов.
...
Рейтинг: 0 / 0
02.08.2018, 09:43
    #39682378
_avz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
Спасибо!
Обновиться пока возможности нет, но как только появится сделаю.

Maxim BogukЭто для какого то конкретного значения строки срабатывает или для любых?
Не для всех.
странная закономерность:
работает неверно на строка =
'948-1-С-2-1 П.П.П.'
'Г-2 КБ'
'64-50'
'01-ГСВ-99'

работает верно на строка =
'405ф'
'№ 552-72-ГС-2'
'ш 449-72-ГС-1'
'ГСН-92323'

выглядит как будто PG пытается трактовать '-' как операцию минус, но это не так:
Index Cond: ((g.shifr)::text = '01-ГСВ-99'::text)
...
Рейтинг: 0 / 0
02.08.2018, 09:47
    #39682379
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
_avz,

не вижу смысла искать закономерности в признанном и исправленном давным-давно баге.
...
Рейтинг: 0 / 0
02.08.2018, 12:11
    #39682503
_avz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
обновился до 9.5.13
Не помогло.
сделал reindex. И вот тогда полегчало.

всем спасибо
...
Рейтинг: 0 / 0
02.08.2018, 14:33
    #39682604
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
_avzобновился до 9.5.13
Не помогло.
сделал reindex. И вот тогда полегчало.

всем спасибо

Значит именно вышеописанный баг был да.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
02.08.2018, 22:18
    #39682840
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтр по индексу глючит
_avzобновился до 9.5.13
Не помогло.
сделал reindex. И вот тогда полегчало.

До версии 9.5.5 было много неприятных багов, включая один который как раз проявлялся в битых индексах:
https://bucardo.org/postgres_all_versions.html#version_9.5.5

И именно поэтому при любых косяках первое дело — обновиться.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / фильтр по индексу глючит / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]