LINUXTALKS.CO

Bugfix


0

0

Всего сообщений: 1

Обновление PostgreSQL 14.4 с исправлением повреждения индексов

Группа Open Source

Сформирован
корректирующий выпуск СУБД PostgreSQL 14.4, в котором устранена
серьёзная проблема, при определённых обстоятельствах
приводящая
к незаметному повреждению данных в индексах при выполнении команд
"CREATE INDEX CONCURRENTLY" и "REINDEX CONCURRENTLY". В созданных
при помощи указанных команд индексах могут быть не учтены некоторые
записи, что приведёт к пропуску отдельных строк при выполнении
SELECT-запросов с привлечением проблемных индексов.

Для определения факта повреждения индексов B-tree можно использовать
команду "pg_amcheck --heapallindexed имя_БД". В случае выявления
ошибок или применения в прошлых выпусках команд "CREATE INDEX
CONCURRENTLY" и "REINDEX CONCURRENTLY" с другими типами индексов
(GiST, GIN и т.п.) после обновления до версии 14.4 рекомендуется
выполнить переиндексацию утилитой "reindexdb --all" или командой
"REINDEX CONCURRENTLY имя_индекса".

Проблеме подвержена только ветка 14.x, в которую были включены
оптимизации, исключающие при выполнении операции VACUUM некоторые
транзакции, связанные с выполнением "CREATE INDEX CONCURRENTLY" и
"REINDEX CONCURRENTLY". В результате применения этих оптимизаций в
созданные в режиме "CONCURRENTLY" индексы не попадали некоторые
находящиеся в heap-памяти кортежи, которые были обновлены или урезаны во
время создания индекса.

>>> Подробности

 ,

crypt ()