PostgreSQL 14.4 uppfærsla með vísitöluspillingu

Búin hefur verið til leiðréttingarútgáfa af PostgreSQL DBMS 14.4, sem útilokar alvarlegt vandamál sem, undir ákveðnum kringumstæðum, leiðir til ósýnilegrar gagnaspillingar í vísitölum þegar framkvæmdar eru „CREATE INDEX CONCURRENTLY“ og „REINDEX CONCURRENTLY“ skipanirnar. Í vísitölunum sem eru búnar til með tilgreindum skipunum er hugsanlegt að sumar skrár séu ekki teknar með í reikninginn, sem mun leiða til þess að línur vantar þegar SELECT-fyrirspurnir eru framkvæmdar sem fela í sér erfiðar vísitölur.

Til að ákvarða hvort B-tré vísitölur hafi skemmst geturðu notað skipunina „pg_amcheck –heapallindexed db_name“. Ef villur finnast eða skipanirnar „CREATE INDEX CONCURRENTLY“ og „REINDEX CONCURRENTLY“ voru notaðar í fyrri útgáfum með öðrum tegundum af vísitölum (GiST, GIN, o.s.frv.), eftir uppfærslu í útgáfu 14.4, er mælt með því að framkvæma endurskráningu með því að nota "reindexdb —all" gagnsemi eða skipunina "REINDEX CONCURRENTLY index_name."

Vandamálið hefur aðeins áhrif á 14.x útibúið, sem innihélt fínstillingar sem útiloka sumar færslur sem tengjast framkvæmd "BÚA TIL VÍSLU SAMTÍÐA" og "REINDA SAMTÍÐA" þegar VACUUM aðgerðin er framkvæmd. Sem afleiðing af þessum hagræðingum innihéldu vísitölur sem voru búnar til í CONCURRENTLY ham ekki nokkra túlla í haugminni sem voru uppfærðir eða styttir við stofnun vísitölunnar.

Heimild: opennet.ru

Bæta við athugasemd