ΠΡΠ±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π‘Π£ΠΠ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ°ΠΏΠΎΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8. ΠΡΠ»ΠΈ ΡΠ°Π½Π΅Π΅ Π²ΡΠ±ΠΎΡ ΡΠ°ΡΡΠΎ ΡΠΊΠ»ΠΎΠ½ΡΠ»ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Microsoft SQL Server ΠΈΠ·-Π·Π° ΠΏΡΠΈΠ²ΡΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ², ΡΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ PostgreSQL ΡΡΠ°Π» ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΉ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠΊΡΡΡΠΎΡΡΠΈ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ Π‘Π£ΠΠ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ ΠΎΡΠΎΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ 1Π‘, ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΡΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΈΡΠΌΡ "1Π‘" ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² PostgreSQL, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ²ΠΎΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π΅ΡΡΠΈΡ PostgreSQL ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ 1Π‘ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΡΠ°Π½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π°Π΄ΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΈΡΠΌΠ° "1Π‘" ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»Π° ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ PostgreSQL, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 9-ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ 16-ΠΉ ΠΈ 17-ΠΉ ΡΠ΅ΡΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ 9.3 ΠΈΠ»ΠΈ 9.4, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ PostgreSQL. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ 1Π‘ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π‘Π£ΠΠ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡ ΡΠ»ΡΡΡΠ΅Π½Ρ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°Ρ .
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ PostgreSQL Π½ΠΈΠΆΠ΅ 9.6.24 ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π² 1Π‘, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (deadlocks) ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²ΡΡΠ΅Π΄ΡΡΡ Π²Π΅ΡΡΠΈΡ ("bleeding edge"). ΠΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΠΆΠΎΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PostgreSQL ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΠ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π΅ΡΡΡΡΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² 1Π‘ Ρ PostgreSQL
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ 1Π‘ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² 1Π‘ Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡ SQL, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ PostgreSQL. ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π½Π°ΠΏΡΡΠΌΡΡ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π‘Π£ΠΠ.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ Π»ΠΎΠΊΠ°Π»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ PostgreSQL Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π»ΠΎΠΊΠ°Π»Ρ ru_RU.UTF-8. ΠΠ΅ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΡΡΠΎΠΊ Π² ΠΎΡΡΠ΅ΡΠ°Ρ
ΠΈ ΡΠΏΠΈΡΠΊΠ°Ρ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΡΡΡΠΎΡΠ°ΠΌΠΈ. Π Π²Π΅ΡΡΠΈΡΡ PostgreSQL 12 ΠΈ Π²ΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ 1Π‘ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π‘Π£ΠΠ (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ) ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΠ²Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ PostgreSQL ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ UTF8 ΠΈ Π»ΠΎΠΊΠ°Π»Ρ ru_RU.UTF-8 Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΠΈΠ½Π°ΡΠ΅ 1Π‘ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° 1Π‘. ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ ΡΠ΅ΡΠ°ΡΡΡΡ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΠ, Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ²Π΅ΠΆΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ PostgreSQL. Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅Π»ΠΈΠ·-Π½ΠΎΡΠΎΠ² ΡΠΈΡΠΌΡ "1Π‘" ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅Π².
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ PostgreSQL ΡΠ°ΡΡΠΎ Π΄ΠΈΠΊΡΡΠ΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ Π‘Π£ΠΠ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ. ΠΠ»Ρ ΡΡΠΆΠ΅Π»ΡΡ Π±Π°Π· 1Π‘, Π³Π΄Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ΠΈΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ, ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 9.6 ΠΈ Π²Π΅ΡΡΠΈΠ΅ΠΉ 15 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ.
ΠΠ΅ΡΡΠΈΠΈ PostgreSQL 13, 14 ΠΈ 15 Π²Π½Π΅Π΄ΡΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ (TOAST) ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ½ΡΠΌ ΠΊΡΡΠ΅ΠΌ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ 1Π‘, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΅Π½ΡΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π½Π°ΠΏΡΡΠΌΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΏΠΈΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΡΡ.
| ΠΠ΅ΡΡΠΈΡ PostgreSQL | Π‘ΡΠ°ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ 1Π‘ | ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ 1Π‘ | Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ |
|---|---|---|---|
| 9.6 | ΠΠ°Π·ΠΎΠ²Π°Ρ | Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ, Π½ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ | Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»Π΅Π³Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌ |
| 11-12 | ΠΠΎΠ»Π½Π°Ρ | Π£Π»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ | ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ Π΄Π»Ρ ΡΡΠ΅Π΄Π½ΠΈΡ Π±Π°Π· |
| 13-14 | ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ | ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ JSON ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ | Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ |
| 15-16 | ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ | ΠΠ»Ρ Π½ΠΎΠ²ΡΡ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² |
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅ΠΏΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π±Π΅Π· ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ. ΠΠΎΠ²ΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ²Π΅ΠΆΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
PostgreSQL ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² 1Π‘, Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΠ°Π½Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π‘Π£ΠΠ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ VACUUM ANALYZE Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ΅ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅?
ΠΠ½ΠΎΠ³Π΄Π° Π½Π° ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ PostgreSQL ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠ΅Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ. ΠΠΎΠ²ΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ 1Π‘.
ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΠ
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ PostgreSQL Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ 1Π‘ β ΡΡΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ. ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΠΆΠΎΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ 11 Π½Π° 12) ΡΠ°ΡΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ pg_upgrade ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ΅Π· pg_dump/pg_restore.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ 1Π‘ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² 1Π‘, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΡΠΊΠ°ΠΏ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ° PostgreSQL. ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ Π³Π°ΡΠ°Π½ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ Π·Π° Π΄Π΅Π½Ρ.
βοΈ Π§Π΅ΠΊ-Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ PostgreSQL
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ pg_upgrade, ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ, Π° ΠΏΠ΅ΡΠ΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ
. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠ°Ρ ΠΈ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ² ΠΌΠ΅ΡΡΠΎ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ PostgreSQL ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅Ρ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠ½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΎΠΊ Π² 1Π‘. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ SQL-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° "ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠΉ" Π²Π΅ΡΡΠΈΠΈ PostgreSQL ΡΠ΅Π΄ΠΊΠΎ Π΄Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π»Ρ 1Π‘. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΎ Π·Π°Π½ΠΈΠΆΠ°ΡΡ Π»ΠΈΠΌΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ 1Π‘ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ postgresql.conf, ΡΠ΄Π΅Π»ΠΈΠ² ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ shared_buffers. ΠΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ 1Π‘ ΠΈ PostgreSQL, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ 25-40% ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ°ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΠΈΡΠΊΡ, Π° Π·Π°Π²ΡΡΠ΅Π½ΠΈΠ΅ β ΠΊ Π½Π΅Ρ
Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° 1Π‘, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ²ΠΎΠΏΠΈΠ½Π³ ΠΈ ΡΠ΅Π·ΠΊΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ work_mem, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°. Π 1Π‘ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ work_mem (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ 64-128 ΠΠ) ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΎΡΡΠ΅ΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ°ΡΡΠΈ ΠΊΡΠ°ΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° shared_buffers ΠΈ work_mem Π²Π°ΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ 14 ΠΈ 15. ΠΠ»ΠΎΡ Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ "ΡΠ±ΡΠ΅Ρ" ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π°ΠΆΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π‘Π£ΠΠ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΠ²ΡΠ·ΠΊΠΈ 1Π‘ ΠΈ PostgreSQL Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° "ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ". ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ PostgreSQL Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ 100 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΡΡΠΎ Π΄Π»Ρ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΡΠΈΡΠΌΡ Ρ ΡΠΎΡΠ½Π΅ΠΉ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ΡΡ 1Π‘ ΡΠ²Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ max_connections Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ»Π΅ΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PgBouncer. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅, ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² 1Π‘. ΠΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΠ°Π·ΡΠ°ΡΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π±Π»ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
. Π 1Π‘ ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈ Π±Π΅ΡΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΈΡ
ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΈΡΠ΅Π½ΠΈΠ΅. Π PostgreSQL Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ°Π±Π»ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ VACUUM FULL Π² ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΊΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ PostgreSQL ΡΡΠ΅Π±ΡΠ΅Ρ 1Π‘ 8.3.20?
ΠΠ»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ Π²Π΅ΡΡΠΈΠΈ 8.3.20 ΠΈ Π²ΡΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ PostgreSQL 9.6. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅ 11 ΠΈΠ»ΠΈ 12, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PostgreSQL Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π΄Π»Ρ 1Π‘?
ΠΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ (DBaaS) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ PostgreSQL ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ 1Π‘. ΠΠ°ΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½ΠΈΠ·ΠΊΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅ΡΠΈ (latency) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ 1Π‘?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PostgreSQL Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π΄Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΡΠ°ΠΌΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»ΠΈΡΠ΅Ρ Π»ΠΈ Π²Π΅ΡΡΠΈΡ ΠΠ‘ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ PostgreSQL Π΄Π»Ρ 1Π‘?
ΠΡΡΠΌΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π΅Ρ, Π³Π»Π°Π²Π½ΠΎΠ΅ β ΡΡΠΎΠ±Ρ Π²Π΅ΡΡΠΈΡ ΠΠ‘ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ PostgreSQL. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ubuntu 22.04 ΠΈΠ»ΠΈ AlmaLinux 9) ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΄ΡΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ 1Π‘ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PG?
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° PostgreSQL ΠΈ ΠΆΡΡΠ½Π°Π» ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ 1Π‘. Π§Π°ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ pg_hba.conf ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° libpq Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Π‘. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ².