PostgreSQL 14.4 жаңыртуу индексинин бузулушун оңдоо менен

PostgreSQL DBMS 14.4 түзөтүүчү релиз түзүлдү, бул олуттуу көйгөйдү жок кылат, ал белгилүү бир шарттарда “CREATE INDEX CONCURRENTLY” жана “REINDEX CONCURRENTLY” буйруктарын аткарууда индекстерде көрүнбөгөн маалыматтардын бузулушуна алып келет. Көрсөтүлгөн буйруктарды колдонуу менен түзүлгөн индекстерде кээ бир жазуулар эске алынбай калышы мүмкүн, бул көйгөйлүү индекстерди камтыган SELECT суроо-талаптарын аткарууда саптардын жетишсиздигине алып келет.

B-дарактын индекстери бузулганын аныктоо үчүн, "pg_amcheck –heapallindexed db_name" буйругун колдонсоңуз болот. Эгерде каталар аныкталса же “КАЙРА ИНДЕКСТИ ЖАРАТУУ” жана “КАЙРА ИНДЕКСТИ БИР ТҮЗ” буйруктары индекстердин башка түрлөрү (GiST, GIN ж.б.) менен мурунку релиздерде колдонулса, 14.4 версиясына жаңыртылгандан кийин, реиндексти колдонуу сунушталат. “reindexdb —all” утилитасы же “REINDEX CONCURRENTLY index_name” буйругу.

Көйгөй 14.x бутагына гана таасир этет, анда ВАКУМ операциясын аткарып жатканда "ЖАҢЫЛЫК ИНДЕКСИН ЖАЗУУ" жана "КАЙРА ИНДЕКСТИ ЖАЗУУ" аткаруу менен байланышкан кээ бир транзакцияларды жокко чыгарган оптималдаштыруу камтылган. Бул оптималдаштыруунун натыйжасында, КОЛДОНУУ режиминде түзүлгөн индекстер үймөк эс тутумундагы кээ бир кортеждерди камтыган жок, алар индексти түзүү учурунда жаңыртылган же кыскартылган.

Source: opennet.ru

Комментарий кошуу