Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠΉ Π²ΡΠΏΡΡΠΊ Π‘Π£ΠΠ 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-ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ ΡΡΠ΅Π·Π°Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru