ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈΠΉ ΠΈΠ· Data Egret "ΠΡΠ½ΠΎΠ²Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° PostgreSQL"
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈΠΉ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Ρ ΠΏΠΎΡΡΠ³ΡΠ΅ΡΠΎΠ²ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅; ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅, ΠΊΠ°ΠΊ ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΠΊΠ»Π°Π΄ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΡΠ°Π±Π»ΡΡΡΠΈΠ½Π³ Postgres’Π°.
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈΠΉ, Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Data Egret.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ² ΠΎ ΡΠ΅Π±Π΅. Π― Π½Π°ΡΠΈΠ½Π°Π» ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Π΄Π°Π²Π½ΡΠΌ-Π΄Π°Π²Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π» Π²ΡΡΠΊΠΈΠ΅ ΡΠ°Π·Π½ΡΠ΅ Linux, Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ Linux, Ρ. Π΅. Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΏΡΠΎΠΊΡΠΈ ΠΈ Ρ. Π΄. ΠΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΡΡΠ°Π» Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , PostgreSQL. ΠΠ½ ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ Π½ΡΠ°Π²ΠΈΠ»ΡΡ. Π Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΡΡΠ°Π» Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ PostgreSQL ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π ΡΠ°ΠΊ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Ρ ΡΡΠ°Π» PostgreSQL DBA.
Π Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ°ΡΡΠ΅ΡΡ ΠΌΠ½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΡΠ½ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ. Π ΠΊΠΎΠ³Π΄Π° Ρ Π±ΡΠ» ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ, Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡΠ½ΠΎ Zabbix. Π Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΊΠ°ΠΊ
Π‘Π΅ΠΉΡΠ°Ρ Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠΆΠ΅ PostgreSQL. Π― ΠΏΠΈΡΡ ΡΠΆΠ΅ Π΄ΡΡΠ³ΡΡ ΡΡΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ PostgreSQL-ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ. ΠΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π²ΠΎΠ΄Π½Π°Ρ. ΠΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ Π½Π°ΡΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠ², Ρ Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²? ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π°Π²Π°ΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ. Π ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊ ΠΎΡΠ΄Π΅Π»Π° ΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ: Β«ΠΡΡΠ·ΡΡ, Π½Π°Π΄ΠΎ Π±Ρ Π½Π°ΠΌ Π·Π°ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΠΈ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎΒ». Π Π·Π΄Π΅ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ²ΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β PostgreSQL, MySQL ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅. Π ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ: Β«Π― ΡΠ»ΡΡΠ°Π», ΡΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ-ΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅Β». ΠΠΎΠ»Π»Π΅Π³ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠΏΠΎΡΠΈΡΡ. Π Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ PostgreSQL Π² Π½Π΅ΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»Π°Π±ΠΎ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ. ΠΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΠ· GitHub, ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠ°ΠΊ-ΡΠΎ Π΄ΠΎΠ½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ. Π Π² ΠΈΡΠΎΠ³Π΅ ΡΡΠΎ Π²ΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π΅ΠΊΡΡ ΡΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΡΡΠΎΠΌΡ Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π΄Π°ΡΡ Π²Π°ΠΌ Π½Π΅ΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ PostgreSQL, Π½ΠΎ ΠΈ Π΄Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π Π΄Π°ΡΡ ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ Π΄ΠΎΠΏΠΈΠ»ΠΈΡΡ Π²Π°Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠΎΠ»ΡΠ·Ρ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ²ΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠΉ, ΡΡΠΎΠ±Ρ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΈΠ΅ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ.
Π ΡΠ΅ ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π±ΡΠ΄Ρ ΡΡΠΎ Π‘Π£ΠΠ ΠΈΠ»ΠΈ noSQL. ΠΠΎΡΡΠΎΠΌΡ ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ PostgreSQL, Π½ΠΎ Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠ², ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² PostgreSQL. ΠΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² PostgreSQL Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° Π‘Π£ΠΠ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΡΡΠ½ΡΡΡ ΠΈΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π²Ρ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ.
Π Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Ρ Π½Π΅ Π±ΡΠ΄Ρ
ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΠ΅ Π±ΡΠ΄Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΠΎΡΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π½Π΅ Π±ΡΠ΄Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± Π°Π»Π΅ΡΡΠΈΠ½Π³Π΅.
ΠΠΎ ΠΏΠΎ Ρ
ΠΎΠ΄Ρ ΠΏΠΎΠ²Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Ρ Π±ΡΠ΄Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ², ΠΊΠ°ΠΊ-ΡΠΎ Π±ΡΠ΄Ρ ΠΈΡ
ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°ΡΡ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π½Π΅ Π½Π°Π·ΡΠ²Π°ΡΡ Π±ΡΠ΅Π½Π΄ΠΎΠ², ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΠΈΠ»ΠΈ Π°Π½ΡΠΈΡΠ΅ΠΊΠ»Π°ΠΌΡ ΡΡΠΈΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½Ρ ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΉ ΡΠ°Π½ΡΠ°Π·ΠΈΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ ΡΡΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ. ΠΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ. ΠΠΎ Π² ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ Π½Π° Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΡΠΈΠ±ΡΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄Π΅Π»ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎ ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, ΡΠΎ ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΠ, ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π² Π±ΡΠΊΠ»ΠΎΠ³ ΠΈ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΈΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ.
ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°ΡΡΠΎ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π±Ρ Π½Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π»ΡΡΡΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . Π ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ.
ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ Π½ΠΈΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡ. ΠΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΡΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎ PostgreSQL, ΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΊΠΎΠΉ ΡΡ Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π² PostgreSQL Π΅ΡΡΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ, ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Stats Collector, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΌΠΎΠ³ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ.
ΠΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π²ΡΡΡ (view). ΠΡ ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΠ΅ Π½Π°Π·Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. Π’. Π΅. Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ psql ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠ΄Π΅Π»Π°ΡΡ select ΠΊ ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ Π²ΡΡΡ Π°ΠΌ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ PostgreSQL.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΈ ΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π²Π°ΡΡ Π»ΡΠ±ΠΈΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅.
ΠΠΎ Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΡΠ΅Π»ΡΠΉ Π΄Π΅Π½Ρ. Π― Π±ΡΠ΄Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΊ Π΄Π²ΡΠΌ-ΡΡΠ΅ΠΌ-ΡΠ΅ΡΡΡΠ΅ΠΌ ΡΡΡΠΊΠ°ΠΌ ΠΈ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π»ΡΡΡΠ΅.
Π Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π±Π°Π·Ρ, ΡΠΎ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ? Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±Π°Π·Π° β ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ, Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Π²ΡΠ΅Π΄Π½ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π°Π½ΠΎΡΠΈΡΡ Π²ΡΠ΅Π΄ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ: Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, Π² ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ. Π’. Π΅. Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ (workload), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π°ΡΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΠΎ ΠΈ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ ΡΠΎΡΡΠΎΠΈΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π±Π°Π·Π΅, ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ Π½Π°Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΡΠΈΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠΏΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
Π ΡΠ°Π· ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π° Ρ ΠΎΡΠΎΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ Π½Π΅ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π±Ρ. Π Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΆΠ°Π΄Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΡΠΎΠ½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΈΡ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΡΠΎΠ² Π² ΠΏΠ»Π°Π½Π΅ ΡΠΎΠ½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
Π ΡΡΠΎ Π²ΡΠ΅ Π² ΠΏΠ»Π°Π½Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠ΅. ΠΠΎ ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅Π·ΠΆΠ°Π΅Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ°, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡ ΠΎΠ΄ΡΡ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΠ»Π°Π½. ΠΠΎ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ½ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ.
Π‘ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, Π²ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ. ΠΡΠΎ Π½ΠΈΡ Ρ ΡΠΎΠΆΠ΅ Π·Π°ΡΡΠΎΠ½Ρ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π°ΠΉΠ΄ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎ Π½ΠΈΡ .
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΏΠ»Π°Π½Π° β ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ? ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π±Π°Π·Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Ρ. Π΅. Π±Π°Π·Π° ΠΏΠΎΠ΄Π½ΡΡΠ°, ΠΎΠ½Π°, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ. ΠΡΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ.
ΠΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ. ΠΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡ Π±ΡΠΎΡΠΈΠ» ΠΎΠ΄ΠΈΠ½ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΡΠΊΡΠ°Π½, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ²Π΅Π΄Π΅Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π Π²Ρ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ β Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² Π±Π°Π·Π΅ ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΡΡΠΎΠ±Ρ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ»Π° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ, Π±ΡΠ»Π° Ρ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ΄ΠΎΠΌ. ΠΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ², ΠΏΡΠΈ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ Π°Π²Π°ΡΠΈΠΉΠ½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΈΡ
ΡΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, Π»ΠΈΠ±ΠΎ ΡΠΊΡΡΠ²Π°ΡΡ Π² drilldown-Π»ΠΈΠ½ΠΊΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π΄ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΊΡΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ½Π° ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ Ρ ΠΌΠΎΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Ρ Π½Π΅Π΅ ΡΡΡΠ°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ². Π’Π°ΠΌ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Β«ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Β». ΠΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½Π΅ΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π½Π΅ΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π³ΡΠ°ΡΠΈΠΊΠΎΠ². Π ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΠΌΡΡΠΊΠΎΠΉ ΠΊΠ»ΠΈΠΊΠ°ΡΡ, Π»ΠΈΡΡΠ°ΡΡ, ΠΈΡΠΊΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΠΊ. Π Π½Π° ΡΡΠΎ ΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ, Ρ. Π΅. Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ², ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΡ , Π½Π΅Ρ. ΠΡΡΡ Π»ΠΈΡΡ ΡΠΏΠΈΡΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ².
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π° ΡΡΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ? ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°. Π PostgreSQL Π΅ΡΡΡ Π²ΡΡΡ Π° pg_stat_statements. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°, Π½ΠΎ ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΡΡ , ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½Π° Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΠ΅Π΄Π½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° ΠΏΠΎ Π±ΠΎΠ»ΡΠ½ΠΈΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΠ΅. Π Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ»ΠΈ, Π² PostgreSQL Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. Π ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ ΠΏΠΎ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ, Ρ. Π΅. ΠΌΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ΅ΠΉΠΊΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ ‘select 1’Β ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, Π° ΠΌΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠΎΠΉ, Π»ΠΈΠ±ΠΎ ΡΡΡΠΎΠΈΠΌ ΠΏΠΎ Π½Π΅ΠΉ Π³ΡΠ°ΡΠΈΠΊ.
Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. Π Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡ Ρ pg_stat_database. ΠΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π° ΠΏΠΎΠ»Π΅ xact_rollback. ΠΡΠΎ ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ rollback, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² Π±Π°Π·Π΅, Π½ΠΎ Π΅ΡΠ΅ ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ. Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΡ ΡΠΈΡΡΡ Π² Π½Π°Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠΎ ΡΡΠΎ ΡΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠ²ΠΎΠ΄ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π»ΠΎΠ³ΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ, Π° Π΄Π°Π»ΡΡΠ΅ ΡΠΆΠ΅ ΠΈΠ½Π²Π΅ΡΡΠΈΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΠΈΡ .
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠΊΡ, ΠΊΠ°ΠΊ Π’Π°Ρ ΠΎΠΌΠ΅ΡΡ. ΠΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠΈΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π΅ΡΡΡ Π»ΠΈ ΠΏΠΈΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΈΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π±Π°Π·Π° Π½Π΅Π΄ΠΎΠ³ΡΡΠΆΠ΅Π½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ backend ΠΎΡΠ²Π°Π»ΠΈΠ»ΡΡ. ΠΡΡ ΡΠΈΡΡΡ Π²Π°ΠΆΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ΅ ΠΈ Π½ΠΈΠΆΠ΅ ΡΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΈ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅, Π° Π·Π½Π°ΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π²ΡΡΡ Π΅ pg_stat_database. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ commit ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ rollbackΒ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π² ΠΎΠ΄Π½Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²? ΠΠΎΡΡΠΎΠΌΡ TPS ΠΈ QPS Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΠ΅.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ pg_stat_statements ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ, Π²ΡΡΠΈΡΠ°Π΅ΠΌ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π΅Π»ΡΡΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ.
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ β Π½Π΅ Π±ΡΠ»ΠΎ Π»ΠΈ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ downtime.
ΠΠ΄Π½Π° ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ β ΡΡΠΎ uptime. ΠΠΎ uptime Π² PostgreSQL β ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΈΡΡΠ°Ρ ΡΡΡΠΊΠ°. Π Π°ΡΡΠΊΠ°ΠΆΡ, ΠΏΠΎΡΠ΅ΠΌΡ. ΠΠΎΠ³Π΄Π° PostgreSQL Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΎΡΡΠΈΡΡΠ²Π°ΡΡΡΡ uptime. ΠΠΎ Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π·Π°Π΄Π°ΡΠ°, ΠΏΡΠΈΡΠ΅Π» OOM-killer ΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ» ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ PostgreSQL, ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ PostgreSQL Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. Π ΠΏΠΎΠΊΠ° Π΄Π»ΠΈΡΡΡ ΡΡΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ, Π±Π°Π·Π° Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Ρ. Π΅. ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ downtime. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅ΡΡΠΈΠΊ uptime Π½Π΅ ΡΠ±ΡΠΎΡΠΈΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° postmaster Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² Π²Π°ΠΊΡΡΠΌΠ°. ΠΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ autovacuum Π² PostgreSQL? ΠΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π² PostgreSQL. ΠΡΠΎ Π½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠ΅ΠΉ, ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². ΠΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΡΠΎ Π²Π°ΠΊΡΡΠΌ, ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΡΠΌ Π·Π»ΠΎΠΌ. ΠΠΎ ΡΠ°ΠΊ ΠΈ Π΅ΡΡΡ. ΠΡΠΎ Π½Π΅ΠΊΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ , ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ.
ΠΠΎΡΠ΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΠΊΡΡΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΠ½ΠΎ. ΠΠ½ ΠΎΡΠΆΠΈΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΡΡΠ°Π΄Π°ΡΡ.
Π ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡ Ρ pg_stat_activity, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΡΠ° Π²ΡΡΡ Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π ΡΠ΅ΡΠ΅Π· ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π°ΠΊΡΡΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²Π°ΠΊΡΡΠΌΡ ΠΈ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ, ΡΠΎ ΡΡΠΎ ΠΏΠΎΠ²ΠΎΠ΄ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PostgreSQL ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΠΊΡΡΠΌΠ°.
ΠΡΡΠ³ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ PostgreSQL ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ PostgreSQL ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΠ½ΠΎ ΠΎΡ Π΄ΠΎΠ»Π³ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ, ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π²ΠΈΡΡΡ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΡΠΎ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅, stat idle-in-transaction. Π’Π°ΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΠ½Π° ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π°ΠΊΡΡΠΌΡ. Π ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ β ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΡ Π½ΡΡ, ΠΎΠ½ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅. Π Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π»ΠΎΠΏΠ°ΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π½Π° Π΄ΠΈΡΠΊ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΡ, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΌΡΡ Π΄ΠΎΠ»Π³ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΠ°ΠΌΡΡ Π΄ΠΎΠ»Π³ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²Π°ΠΊΡΡΠΌΠ° ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ. Π Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ, ΡΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅ 10-20-30 ΠΌΠΈΠ½ΡΡ Π΄Π»Ρ OLTP-Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠΎ Π½Π° Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»ΠΈΡΡ ΠΈ Π½Π΅ Π²ΠΈΡΠ΅Π»ΠΈ ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ»Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ 10-20-30 ΠΌΠΈΠ½ΡΡ β ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΌ Π±ΡΠ²Π°Π΅Ρ Π΅ΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠ»Π³ΠΈΠ΅.
ΠΠ°Π»ΡΡΠ΅ Ρ Π½Π°Ρ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΆΠ΅ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄, Π²ΡΠ²Π΅ΡΠΈΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΄Π° ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ
.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ Π²Π°ΠΆΠ½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ PostgreSQL, ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π±ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ. ΠΡΠ²Π°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π±ΡΠ²Π°ΡΡ ΠΏΠ»ΠΎΡ ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΡΠ°Π·Ρ ΡΠ»Π°ΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ Π·Π°ΠΏΡΠΎΡΡ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΡΠ²Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ, ΠΎΠ½ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½Π½Π΅ΠΊΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ idle.
ΠΠΎ Π±ΡΠ²Π°ΡΡ ΠΏΠ»ΠΎΡ ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ, ΠΎΡΠΊΡΡΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄Π΅Π»Π°Π» Π² Π±Π°Π·Π΅ ΠΈ ΠΏΠΎΡΠΎΠΌ ΡΡΠ΅Π» Π² ΠΊΠΎΠ΄, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ Π½Π΅ Π·Π°ΠΊΡΡΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²ΠΈΡΠΈΡ Π² Π±Π°Π·Π΅ ΠΈ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΠ΅. ΠΡΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π΄Π΅-ΡΠΎ Π²Π½ΡΡΡΠΈ Ρ ΡΠ΅Π±Ρ ΡΠΏΠ°Π΄Π΅Ρ ΠΏΠΎ ΡΠΊΡΠ΅ΠΏΡΠ΅Π½Ρ (Exception), ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°ΡΡΡΡ ΠΎΡΠΊΡΡΡΠΎΠΉ Π½Π° ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ PostgreSQL. PostgreSQL Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π²Π°ΠΆΠ½ΠΎ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ. Π Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»ΠΎΡ ΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠΎ ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠ»ΠΎΡ ΠΈΠΌΠΈ ΠΈΠ·-Π·Π° ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠ°Ρ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ: ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π²Π·ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΠΎΠΌ Π³Π΄Π΅-ΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ½Π° ΡΠΏΠ°Π΄Π΅Ρ, ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π²ΠΈΡΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΡΠΈΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π·Π°ΠΏΡΠΎΡΠΈΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΎΠ½ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΡΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ° Π²ΠΈΡΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠΆΠ΅ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. Π Π²ΡΠΎΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΈΡΠ΅ΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΈΠ»ΠΈ Π΅Π΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΊΡΠΎΠ΅Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΆΠ΄ΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΡΡ Π»ΠΈΠΌΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π ΠΊΠΎΠ³Π΄Π° Π»ΠΈΠΌΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½, ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π°Π·ΠΎΠΉ. ΠΡΠΎ ΡΠΆΠ΅ Π°Π²Π°ΡΠΈΠΉΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ»ΠΎΡ ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π Π·Π΄Π΅ΡΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΡΠΉ Π΄Π°ΡΠ±ΠΎΡΠ΄. ΠΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠ°ΠΌ ΡΠ²Π΅ΡΡ
Ρ. DB connection β 8 ΡΡΡΠΊ. Π ΡΡΠΎ Π²ΡΠ΅. Π£ Π½Π°Ρ Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠΎΡΡΠΎ idle, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΠΈΡΡΡΠΈΡ
ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ
ΠΈ ΠΎΠ± ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ
ΠΊΠΎΠ½Π½Π΅ΠΊΡΠ°Ρ
, Ρ. Π΅. ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΠ² ΠΈ Π²ΡΠ΅. Π Π΄Π°Π»ΡΡΠ΅ Π³Π°Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π²ΡΡΡ
Π΅ pg_stat_activity. ΠΡΠ»ΠΈ Π²Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π² PostgreSQL, ΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠ°Ρ Π²ΡΡΡ
Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠ°ΡΡ Π²Π°ΡΠΈΠΌ Π΄ΡΡΠ³ΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² PostgreSQL, Ρ. Π΅. ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² Π½Π΅ΠΌ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΡΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ: Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ
ΠΎΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ, ΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ. Π, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ stat. Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ stats-Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΠΈΠΌ stat-ΠΎΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
. Π ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π² Π½Π°Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½ΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π― ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΠΊΡΡΠΌΠΎΠ², Π½ΠΎ ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅. ΠΡΡΡ ΠΏΠΎΠ»Ρ xact_start ΠΈ query_start. ΠΠ½ΠΈ, ΡΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΡΠ° Π·Π°ΠΏΡΠΎΡΠ°. ΠΡ Π±Π΅ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ now(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΎΡΠΌΠ΅ΡΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²ΡΡΠΈΡΠ°Π΅ΠΌ timestamp ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΠΎΡΠ°. Π ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠ»ΠΈ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡ ΡΠΆΠ΅ Π·Π°Π²Π΅ΡΡΠ°ΡΡ. ΠΠ»Ρ OLTP-Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅ 1-2-3 ΠΌΠΈΠ½ΡΡ. ΠΠ»Ρ OLAP-Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ ΡΠ°ΡΠΎΠ², ΡΠΎ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π³Π΄Π΅-ΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΡ.
ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ½ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ, ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ. Π Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π½Π°Ρ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ Π½Π°Ρ ΡΠ°ΠΌΡΠ΅ Β«Π³ΠΎΡΡΡΠΈΠ΅Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ Β«Π³ΠΎΡΡΡΠΈΠ΅Β» ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π±ΡΡΡΡΠΎΠ΅ SSD Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π°ΡΡ ΠΈΠ²Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ½Π΅ΡΡΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Β«Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠΉΒ» Π°ΡΡ ΠΈΠ², Π½Π° SATA Π΄ΠΈΡΠΊΠΈ ΠΈ ΠΏΡΡΡΡ ΠΎΠ½ΠΈ ΡΠ°ΠΌ ΠΆΠΈΠ²ΡΡ, ΠΊ Π½ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΠΊΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π². ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΠΊΠ°ΡΠΈΠ» ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ. Π Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΡΡΡΠΎΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ, ΠΌΡ Π½Π° ΡΡΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°Ρ ΡΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠ»Π΅ΡΠΊΠΈ update ΠΈΠ»ΠΈ Π²ΡΠΏΠ»Π΅ΡΠΊΠΈ delete. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Β«ΠΏΠΎΠΏΠ»ΡΠ²ΡΠ΅ΠΉΒ» ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ. Π§ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ? Π PostgreSQL ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΡΠΉ ΠΈ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΄Π΅Π»ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ. ΠΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΡΠΎΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΏΠ»Π°Π½Ρ, PostgreSQL Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΡ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ . ΠΡΠΎ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ NULL Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΡΡΠΎΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠ»Π°Π½ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Β«ΠΏΠ»ΡΠ²Π΅ΡΒ». ΠΠ°Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅, Π½ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠΎΠ±ΡΠ°Π»Π°ΡΡ. Π ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ»Π°Π½Ρ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ. Π Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΏΠ»Π°Π½Ρ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΠΎΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Ρ, ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅-ΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅, Ρ.Π΅. Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 100 ΡΡΡΠΎΠΊ (ΡΡΠΎΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ limit 100), ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ. Π ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅. Π ΡΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ explain, ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ, ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. Π ΡΠΆΠ΅ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π― Π΄ΡΠΌΠ°Ρ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΅Π³ΠΎ ΡΠ·Π½Π°Π»ΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Ρ ΡΠ΅Π±Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ². Π Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ unity ΡΠΊΠ°Π·Π°Π½Ρ Π±Π°ΠΉΡΡ, Ρ. Π΅. ΡΠ°ΠΌ 5 Π³ΡΠ°ΡΠΈΠΊΠΎΠ². ΠΡΠΎ Insert data, Update data, Delete data, Fetch data ΠΈ Return data.Β Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ unit ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Ρ Π±Π°ΠΉΡΡ. ΠΠΎ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π² PostgreSQL Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² tuple (ΡΡΡΠΎΠΊΠ°Ρ ). Π, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π½ΠΈΠ·ΠΈΡΡ Π²Π°Ρ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π² Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ tuple β ΡΡΠΎ Π½Π΅ Π±Π°ΠΉΡ, tuple β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠΎΠ² ΠΈ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. Π’. Π΅. Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ Π² Π±Π°ΠΉΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ tuples β ΡΡΠΎ Π½Π΅ΡΠ΅Π°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π²ΡΠ΅Π³Π΄Π° Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Π°ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠ΅Π½Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² PostgreSQL Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π²ΡΡΡ
. Π ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²ΡΡΡ
Π° β ΡΡΠΎ
ΠΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ insert, update ΠΈ delete. Π’ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π», ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΎΡ Π½ΠΈΡ . ΠΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ tuples, Π° Π½Π΅ Π±Π°ΠΉΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π±Π°ΠΉΡΠ°ΠΌΠΈ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎΠΈΡΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅, TopN-ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Top-5, Top-10. Π ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ Π³ΠΎΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 5 Β«Π³ΠΎΡΡΡΠΈΡ Β» ΡΠ°Π±Π»ΠΈΡ ΠΏΠΎ Π²ΡΡΠ°Π²ΠΊΠ΅. Π ΠΏΠΎ ΡΡΠΈΠΌ TopN-ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΌΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ Π½Π°Ρ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²ΡΠΏΠ»Π΅ΡΠΊΠΈ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΡΠΊΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ Π°ΠΏΠ΄Π΅ΠΉΡΠΎΠ², ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π².
Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΠΊΠ°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡ, ΠΈ Ρ Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΡΡ Π½ΡΡΡ Π² ΡΠ²ΠΎΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΈΠ΅ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΆΠ΅ Π±ΡΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°Ρ ΡΡΡΠΏΡΠΈΠ·Π°ΠΌΠΈ.
Π ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π΄Π»Ρ Π²Π°Ρ. ΠΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ? ΠΠ°ΠΊΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ?
ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΠΎΠΏΡΠΎΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ. ΠΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ°? Π’. Π΅. Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ°. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ host Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΠ°ΠΌ Π·Π°ΠΏΡΡΠ΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Top, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² PostgreSQL, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΠ· Top Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ½ΠΈΠ½Π³ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΡΠΈΡ, ΡΠ΅ΠΌ ΡΡΠ½ΠΈΠ½Π³ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ PostgreSQL ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ½ΠΈΠ½Π³ ΠΆΠ΅Π»Π΅Π·Π°. ΠΠΎ ΠΌΠΎΠ΅ΠΉ ΠΎΡΠ΅Π½ΠΊΠ΅ β ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 80-85-90 %. Π ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅. ΠΡΡΡΡΠ΅Π΅ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΠ΅ΠΌ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠ°ΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π±Π°Π·Ρ ΡΠ΅ΡΡΠ°ΡΡΠΎΠ²Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΆΠ΅Π»Π΅Π·ΠΎ. ΠΡΠΎΡΠ΅ Π³Π΄Π΅-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π»ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΈΡ
Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π ΡΡΡ ΡΠΎΠΆΠ΅ Π²ΡΠΎΠ΄Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌ, ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ. ΠΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ pg_stat_statements. ΠΠ° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΌΡΠΌ ΡΠ°ΡΡΡΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ, Ρ. Π΅. ΠΏΠΎ ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Ρ . ΠΠ°, ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π² ΡΠΎΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π½Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π½Π΅Ρ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π²ΡΠΏΠ»Π΅ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ°ΠΌΡΠ΅ Π΄ΠΎΠ»Π³ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Ρ. Π΅. ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Ρ . ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅, ΠΎΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄. ΠΡ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ total_time, mean_time, blk_write_time ΠΈ blk_read_time.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΡΡΠΆΠ΅Π»ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΏΠ»Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠ°ΡΡ Ρ Π΄ΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠΈΡΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ.
ΠΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ΅Π΄ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΡΠΎ ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π·Π°ΠΏΡΠΎΡ, Π³Π΄Π΅ Π·Π°Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΠΌΠΈΡ. Π ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ.
Π ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
Π Ρ Π½Π°Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ β ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΡ ΠΈΠ»ΠΈ ΠΈΡ
Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ, ΡΡΠΎ autovacuum ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΡΡ ΡΠ»Π΅Π²Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Maintenance, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π½Π΅Π΅ ΠΈ Π½Π°Π΄Π΅Π΅ΠΌΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. ΠΠΎ Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΠΊΡΡΠΌΠ° ΠΈ ΡΠ±ΠΎΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π±Π΅Π΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Ρ Π½Π°Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅Ρ Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Ρ Π½Π°Ρ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Β«Π³ΡΡΠ·Π½ΡΠ΅Β» ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° Π΄ΠΈΡΠΊ, Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ. Π ΡΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΆΠ΅ Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ PostgreSQL Π±ΡΠ» Π·Π°Π²Π΅ΡΡΠ΅Π½ Π² Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠΎΡΠΈΡΡ Π²ΡΠ΅ Β«Π³ΡΡΠ·Π½ΡΠ΅Β» ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ. Π, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ. Π Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΡ Π΄Π΅Π»Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», ΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅Π΄Π°ΡΡ. Π ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π΄Π°ΡΡ ΠΎΡ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ Π±ΠΎΡΠΎΡΡΡΡ Π·Π° ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π½Π΅ Ρ Π²Π°ΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΅ΡΠ΅Π· pg_stat_bgwriter ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΡΡΠΈΡ ΡΡ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΎΠ². Π Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π·Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π·Π° 10-15-20 ΠΌΠΈΠ½ΡΡ, Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ°) ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 3-4-5, ΡΠΎ ΡΡΠΎ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π ΡΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΎΠ². ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΠΈΠ΄Π΅Ρ. ΠΠΎ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄Ρ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΆΠ΅ ΠΎΡΠ΅Π½ΠΈΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄Π° ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΡΡΠ½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ Π²Π»ΠΈΡΠ»ΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
Π― ΡΠ½ΠΎΠ²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ autovacuum, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΊΠ°, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΠΊΠΎΠ², ΡΠ°ΠΊ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ autovacuum.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΡΠΊΠ΅ΡΠΎΠ² autovacuum Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡ
ΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΈ Π²ΠΎΡΠΊΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π±Π°Π·Π΅, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Ρ Π½Π°Ρ autovacuumΒ Π½Π΅Π΄ΠΎΠ½Π°ΡΡΡΠΎΠ΅Π½, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ Π»ΠΈΠΌΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ autovacuum ΠΈ ΡΠΆΠ΅ Π»Π΅Π·ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΎΡΠΊΠ΅ΡΠ° Π²Π°ΠΊΡΡΠΌΠ°. ΠΠΈΠ±ΠΎ ΡΡΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, DBAΒ ΠΏΡΠΈΡΠ΅Π» ΠΈ ΡΡΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡΡΡΠΈΠ» ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²Π°ΠΊΡΡΠΌ, ΠΈ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΎ Π½Π°Π³ΡΡΠ·ΠΊΡ. Π£ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΈΠ±ΠΎ ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π°ΠΊΡΡΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΡΡΡΠΈΠ²Π°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π²Π΅ΡΡΠΈΠΉ PostgreSQL β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΠΆΠ΅Π»ΡΠ΅ Π²Π°ΠΊΡΡΠΌΡ. Π ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠΎΡΡΠΎ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΡΠΊΠ°Π½ΠΈΡΡΡΡ Π²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΠΊΡΡΠΌΠΎΠ². ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΄ΠΎΠ»Π³ΠΈΠ΅ Π²Π°ΠΊΡΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π°ΠΌ ΡΠ½ΠΎΠ²Π° ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²Π°ΠΊΡΡΠΌΠ° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΊΡΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (3-4 ΡΠ°ΡΠ°), Π½ΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΠΊΡΡΠΌΠ° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΡΡΡ ΡΠ½ΠΎΠ²Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ²ΡΡ ΡΡΡΠΎΠΊ. Π ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΊΡΡΠΌ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, Π΅ΠΌΡ ΡΠ½ΠΎΠ²Π° Π½ΡΠΆΠ½ΠΎ Π²Π°ΠΊΡΡΠΌΠΈΡΡ ΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ. Π ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠΈΡΡΠ°ΡΠΈΠΈ β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΠΊΡΡΠΌΠ°. Π Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΊΡΡΠΌ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΡ Π½ΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ , Ρ ΠΎΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π½Π΅ΠΉ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ Π΄ΠΎΠ»Π³ΠΈΡ Π²Π°ΠΊΡΡΠΌΠ°Ρ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΡΡΠ°Π΄Π°Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ PostgreSQL, Π³Π΄Π΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΡ.
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π² PostgreSQL ΡΡΡΡΠΎΠ΅Π½Π° ΡΠ΅ΡΠ΅Π· ΠΆΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ°ΡΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΆΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΅Π΄Π΅Ρ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΡ, Π΄Π°Π»ΡΡΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ ΠΎΠ½ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ. ΠΡΠ΅ ΠΏΡΠΎΡΡΠΎ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π»Π°Π³Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΡΡ Π° pg_stat_replication.Β ΠΠΎ Ρ Π½Π΅ΠΉ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ. Π Π²Π΅ΡΡΠΈΠΈ 10 Π²ΡΡΡ Π° ΠΏΡΠ΅ΡΠ΅ΡΠΏΠ΅Π»Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ°ΡΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π°. Π ΡΠ°ΡΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°. Π 10-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»Π°Π³ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎ Π²Π΅ΡΡΠΈΠΈ 10 Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»Π°Π³ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Π±Π°ΠΉΡΠ°Ρ . Π’Π°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ°Π»Π°ΡΡ ΠΈ Π² 10-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Ρ. Π΅. Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Π°ΠΌ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ β ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»Π°Π³ Π² Π±Π°ΠΉΡΠ°Ρ ΠΈΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»Π°Π³ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . ΠΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΈ ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»Π°Π³ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΆΡΡΠ½Π°Π»Π° Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π ΡΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· Π΅ΡΡΡ Π²ΠΎ Π²ΡΡΡ Π΅ pg_stat_replication. Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pg_xlog_location_diff() ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ Π² ΠΆΡΡΠ½Π°Π»Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΡΡΠΈΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»ΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»Π°Π³ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Π±Π°ΠΉΡΠ°Ρ . ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ.
Π 10-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² pg_wal_lsn_diff(). ΠΠΎΠΎΠ±ΡΠ΅, Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡΡ , Π²ΡΡΡ Π°Ρ , ΡΡΠΈΠ»ΠΈΡΠ°Ρ , Π³Π΄Π΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΎΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«xlogΒ», ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«walΒ». ΠΡΠΎ ΠΈ Π²ΠΎ Π²ΡΡΡ Π°Ρ , ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΡΠΎ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠ»ΡΡ Π² 10-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ ΡΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π»Π°Π³. ΠΡΠΎ write lag, flush lag, replay lag. Π’. Π΅. ΡΡΠΈ ΡΡΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ. ΠΡΠ»ΠΈ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π»Π°Π³ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ, ΠΎΡΠΊΡΠ΄Π° Π²Π·ΡΠ»ΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠΎΠ³Π΄Π° Π·Π°ΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ. ΠΡΠΎ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΠΏΠ°ΠΌΡΡΠΈ, swap, ΡΠ΅ΡΠΈ ΠΈ Π΄ΠΈΡΠΊΠ°. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅Ρ.
ΠΡΠ»ΠΈ Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΎ Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄ΠΈΡΠΊΠ° Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² iops ΠΈΠ»ΠΈ Π±Π°ΠΉΡΠ°Ρ . ΠΠΎ ΠΎΠ½ΠΈ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎ latency ΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π΄ΠΈΡΠΊΠΈ ΠΈ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΡΠΎΡΠΌΠΎΠ·ΡΡ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π²ΡΡΠΎΠΊΠΈΠΉ latency, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΈΡΠΊΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π²ΡΡΠΎΠΊΠ°Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄ΠΈΡΠΊΠΈ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΡΠ΅ΠΌ ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ.
ΠΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ /proc, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠΎΡΠ΅ΠΌΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ, Ρ Π½Π΅ Π·Π½Π°Ρ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅.
Π’ΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , Π² Π±Π°ΠΉΡΠ°Ρ , Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ latency ΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ, Ρ ΠΎΡΡ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠ±ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. Π ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π²Ρ Π±Ρ Π½Π΅ Π²Π·ΡΠ»ΠΈ, ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΠΈ, Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΎ-ΡΠΎ ΠΈ Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°ΠΉΡΠ΅.
Π Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠ΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ²:
- ΠΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ, ΠΈΠΌΠ΅ΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡΡΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ, ΡΡΠΎ Ρ Π±Π°Π·ΠΎΠΉ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
- ΠΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ΅ΠΈΠ²Π°ΡΡ ΠΏΠ»ΠΎΡ ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΡΡΡΡΠ΅Π»ΠΈΠ²Π°ΡΡ ΠΈΡ .
- ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π²Π°ΡΠ΅ΠΌ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄Π΅.
- ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΡΠΎΡ Π²ΠΎΡΠΊΠ»ΠΎΠ°Π΄, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡΡ, ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ.
- Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ².
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΏΠ»Π°Π½Ρ Π½Π° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΅ΠΌΠΊΠΎΡΡΠΈ Π²Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠΆΠ΅ ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ.
ΠΡΠ»ΠΈ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»Π° ΡΡΠ° ΡΠ΅ΠΌΠ°, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ ΡΡΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²:
ΠΡΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ Π½Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΌΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ. Π Π½ΠΈΡ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π’Π°ΠΌ Π½Π΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ· ΡΠ΅ΡΠΈΠΈ select* from ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΌ. Π’Π°ΠΌ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ Π΄ΠΆΠΎΠΉΠ½Π°ΠΌΠΈ, Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ· ΡΡΡΡΡ ΡΠΈΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΡΠ°Π΅ΠΌΡΠ΅, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ. Π΅. ΡΡΠΎ Π±Π°ΠΉΡΡ, Π²ΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΊΠΎΠ²ΡΡΡΡΡ, ΡΠΌΠΎΡΡΠ΅ΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠ²ΠΎΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ, ΡΡΡΠΎΠΈΡΡ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ²ΠΎΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ.
ΠΠΎΠΏΡΠΎΡΡ
ΠΠΎΠΏΡΠΎΡ: ΠΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΠ΅Π½Π΄Ρ, Π½ΠΎ ΠΌΠ½Π΅ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π²Ρ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅?
ΠΡΠ²Π΅Ρ: ΠΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ ΠΈ Ρ Π½Π΅Π³ΠΎ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π ΠΌΡ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠΈΡΡΠ΅ΠΌ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π΅Π³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π₯ΡΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠΎΡΡ Π΄Π΅Π»Π° Ρ ZabbiΡ
. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠΎΠΈΡΡ TopN-Π³ΡΠ°ΡΠΈΠΊΠΈ. Π‘Π°ΠΌΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ
ΠΠΎΠΏΡΠΎΡ: ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈ AWR-ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ β¦ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ? ΠΠ·Π²Π΅ΡΡΠ½ΠΎ Π²Π°ΠΌ ΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΡΠ°ΠΊΠΎΠΌ?
ΠΡΠ²Π΅Ρ: ΠΠ°, Ρ Π·Π½Π°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ AWR, ΡΡΠΎ ΠΊΡΡΡΠ°Ρ ΡΡΡΠΊΠ°. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. Π‘ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΈΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ baselines Π² ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ PostgreSQL ΠΈΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΠΎΠ½ΠΈ Π΅ΡΡΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠΊΠΈ ΡΠΈΠ΄ΠΈΡ Π½Π° ΡΠΎΡΡΠΌΠ΅ sql.ruΒ Π² Π²Π΅ΡΠΊΠ΅ PostgreSQL. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌ ΠΏΠΎΠΉΠΌΠ°ΡΡ. ΠΠ°, ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ Π΅ΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ»ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ
P.S.1 ΠΡΠ»ΠΈ Π²Ρ ΠΈcΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ postgres_exporter, ΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π΄Π°ΡΠ±ΠΎΡΠ΄ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅? ΠΡ ΡΠ°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ. ΠΠ½ΠΈ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅. ΠΠΎΠΆΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Ρm ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½?
P.S.2 Π£Π±ΡΠ°Π» pganalyze, ΡΠ°ΠΊ ΠΊΠ°ΠΊ is a proprietary SaaS offering which focuses on performance monitoring and automated tuning suggestions.
Π’ΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΡΠΎΡΠ΅.
ΠΠ°ΠΊΠΎΠΉ self-hosted ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ postgresql (Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠΌ) Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ ΡΠ°ΠΌΡΠΌ Π»ΡΡΡΠΈΠΌ?
-
30,0%Zabbix + Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡ ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΠΈΠ»ΠΈ zabbix 4.4 ΠΈΠ»ΠΈ libzbxpgsql + zabbix libzbxpgsql + zabbix3
-
0,0%https://github.com/lesovsky/pgcenter0
-
0,0%https://github.com/pg-monz/pg_monz0
-
20,0%https://github.com/cybertec-postgresql/pgwatch22
-
20,0%https://github.com/postgrespro/mamonsu2
-
0,0%https://www.percona.com/doc/percona-monitoring-and-management/conf-postgres.html0
-
10,0%pganalyze is a proprietary SaaS β ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ1
-
10,0%https://github.com/powa-team/powa1
-
0,0%https://github.com/darold/pgbadger0
-
0,0%https://github.com/darold/pgcluu0
-
0,0%https://github.com/zalando/PGObserver0
-
10,0%https://github.com/spotify/postgresql-metrics1
ΠΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 10 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ 26 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com