ΠΠ·Π΄Π°Π΄Π΅Π½ Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΡΠ΅Π»ΠΈΠ· Π½Π° Π‘Π£ΠΠ 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
