ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΡΠ°Π·ΡΠΈΡΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈ ΠΎΡ Data Egret "ΠΡΠ½ΠΎΠ²ΠΈ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° PostgreSQL"
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° PostgreSQL, ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°Ρ ΡΠ΅ ΠΈ Π·Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°; Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠΈ ΡΠ΅ ΠΎΡ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Postgres.


ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΠΎΠ²ΡΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Data Egret.
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ Π·Π° ΠΌΠ΅Π½. ΠΠ°ΠΏΠΎΡΠ½Π°Ρ ΠΏΡΠ΅Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π» ΡΡΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Linux ΡΠΈΡΡΠ΅ΠΌΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ ΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π΅ΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Linux, Ρ.Π΅. Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΠΊΡΠΈ ΠΈ Ρ.Π½. ΠΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅ Ρ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, PostgreSQL. Π₯Π°ΡΠ΅ΡΠ° ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎ. Π Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²Π΅ΡΠΈΡ Π½Π° PostgreSQL ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΡΠΈ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΡΠ°Π½Π°Ρ PostgreSQL DBA.
ΠΡΠ΅Π· ΡΡΠ»Π°ΡΠ° ΡΠΈ ΠΊΠ°ΡΠΈΠ΅ΡΠ° Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΠΌ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°Π» ΠΎΡ ΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ Π±ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΠ»ΡΡΠ½ΠΎ ΡΡΡ Zabbix. ΠΠ°ΠΏΠΈΡΠ°Ρ ΠΌΠ°Π»ΡΠΊ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΊΠ°ΠΊ . Π’ΠΎΠΉ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΏΠΎ ΠΎΠ½ΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅. Π‘ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΠΆΠ½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ, Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Linux, Π½ΠΎ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ Ρ PostgreSQL. ΠΠΈΡΠ° Π½Π΅ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° Ρ PostgreSQL ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°. Π’ΠΎ ΡΠ΅ Π½Π°ΡΠΈΡΠ° (ΡΡΠ°ΡΠΈΡ Π½Π° Ρ Π°Π±ΡΠ° β ).

ΠΠ΅Π²Π΅Π»ΠΈΡΠΊΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠ°ΠΊΠ²ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΡΠΈ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ? ΠΡΠΎΠΈΠ·ΡΠΈΡΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ, ΡΠ²ΡΡΠ·Π°Π½ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π ΠΊΠΎΠ³Π°ΡΠΎ Π²Π΅ΡΠ΅ Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»Π° ΠΈΠ»ΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΊΠ°Π·Π²Π°: Β«ΠΡΠΈΡΡΠ΅Π»ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ Π½Π΅ΡΠΎ Π»ΠΎΡΠΎ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅Β». Π ΡΡΠΊ Π·Π°ΠΏΠΎΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΡΠ°ΠΊΠ°Π²Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ β PostgreSQL, MySQL ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ. ΠΠΎΠ»Π΅Π³ΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ: Β«Π§ΡΠ²Π°Π» ΡΡΠΌ, ΡΠ΅ ΠΈΠΌΠ° ΡΠ°ΠΊΠ°Π²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠ΅ΠΊΠ° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅Β». ΠΠΎΠ»Π΅Π³ΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠΏΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π½Π° PostgreSQL Π² Π½Π΅Ρ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ»Π°Π±ΠΎ ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ·ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΡ GitHub, ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΠΌΠ΅ Π³ΠΈ, Π°Π΄Π°ΠΏΡΠΈΡΠ°ΠΌΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΠΏΡΠ°Π²ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΡΡΡΠ΅Π½ ΡΡΡΠ΄.

ΠΠ°ΡΠΎΠ²Π° Π² ΡΠ°Π·ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π²ΠΈ Π΄Π°ΠΌ Π·Π½Π°Π½ΠΈΡ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° PostgreSQL, Π½ΠΎ ΠΈ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π²ΡΠΎΠ±ΡΠ΅. Π Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠΎΠΉ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π±Π°Π·Π°ΡΠ° ΡΠΈ Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠ»Π·Π° ΠΈ Π½Π°Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π²Π°ΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ.
Π ΠΈΠ΄Π΅ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π² ΡΠ°Π·ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Ρ ΠΏΡΡΠΊΠΎ ΠΊΡΠΌ Π²ΡΡΠΊΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° Π‘Π£ΠΠ ΠΈΠ»ΠΈ noSQL. ΠΠ°ΡΠΎΠ²Π° ΡΡΠΊ Π½Π΅ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ ΡΠ°ΠΌΠΎ Π·Π° PostgreSQL, Π° ΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅ΠΏΡΠΈ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° Π² PostgreSQL. Π©Π΅ ΠΈΠΌΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π΅Π½ΡΠΈΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π² PostgreSQL Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° Π‘Π£ΠΠ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΌΡΠΊΠ½Π°Ρ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅, ΠΈ ΡΠ΅ Π΅ Π΄ΠΎΠ±ΡΠ΅.
Π ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΡΠ° Π½ΡΠΌΠ° Π΄Π°
ΡΠ°Π·ΠΊΠ°Π·Π²Π°ΠΌ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΈ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. ΠΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π½ΠΈΡΠΎ Π·Π° ΠΏΠΎΡΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡΡ
Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π½ΠΈΡΠΎ Π·Π° Π°Π»Π΅ΡΡΠΈ.
ΠΠΎ Π² Ρ
ΠΎΠ΄Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΊΡΠΈΠΉΠ½ΡΠΎΡΠΎΠ²Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ, ΠΊΠ°ΡΠΎ Π½ΡΠΌΠ°ΠΌ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π° ΠΊΡΠΈΡΠΈΠΊΡΠ²Π°ΠΌ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π½Π΅ Π½Π°Π·ΠΎΠ²Π°Π²Π°ΠΌ ΠΌΠ°ΡΠΊΠΈ, Π·Π° Π΄Π° Π½Π΅ ΡΡΠ·Π΄Π°Π²Π°ΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΠΈΠ»ΠΈ Π°Π½ΡΠΈΡΠ΅ΠΊΠ»Π°ΠΌΠ° Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΠΈ ΠΎΡΡΠ°Π²Π°Ρ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠ°Π½ΡΠ°Π·ΠΈΡ.

ΠΡΡΠ²ΠΎ, Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅. ΠΡΠΈΡΠΊΠΈ Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Ρ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΠΏΠ΅ΡΠ°Π»Π±Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΡ ΡΠ΅ ΠΎΡΠ΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅ ΠΏΠΎ ΠΎΡΡΠ°ΡΡΡΠ΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π°ΠΊΠΎ Π½ΡΠΌΠ° Π²ΡΠ΅ΠΌΠ΅, Π΄ΠΎΠ±ΡΠ΅, ΡΠ΅ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π² Π±Π΅ΠΊΠ»ΠΎΠ³ ΠΈ Π½ΡΠΊΠΎΠΉ Π΄Π΅Π½ ΡΠ΅ ΡΠ΅ Π²ΡΡΠ½Π΅ΠΌ Π½Π° ΡΠ΅Π·ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°ΡΠΎΠ²Π° ΠΎΡ Π½Π°ΡΠ°ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠ΅ΡΠ°Π²Π°ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ ΡΠ΅ΡΡΠΎ Π½Π΅ Π΅ Π΄ΠΎΠ²ΡΡΡΠ΅Π½ ΠΈ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΠ°Π·Π²ΠΈΡ.
ΠΠ°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΡΡ, Π·Π°ΡΠΎΡΠΎ Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π° Π·Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π³ΡΠ±ΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΡΠΎΡΡΡΠ΅Ρ. Π’Π΅ ΡΠ΅ ΡΡΡΡΠΎΡΡ ΠΎΡ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΡΡ.
ΠΠΎΠ³Π°ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π·Π° PostgreSQL, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΊΠ°ΡΠΎ ΡΡ
Π΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² PostgreSQL ΠΈΠΌΠ° Ρ. Π½Π°Ρ. ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Stats Collector, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°.
Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ (view). Π’Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ. Π’ΠΎΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ psql ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ PostgreSQL.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠΈΡΡΠΈ Π² Π»ΡΠ±ΠΈΠΌΠ°ΡΠ° ΡΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π΄Π° Π½Π°ΡΠΈΡΡΠ²Π°ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½Π° Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°.
ΠΠΎ Π² ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ΅ ΡΡΠ» Π΄Π΅Π½. Π©Π΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°ΠΌ Π½Π° Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π΄Π²Π΅, ΡΡΠΈ, ΡΠ΅ΡΠΈΡΠΈ Π½Π΅ΡΠ° ΠΈ ΡΠ΅ ΡΠ°Π·ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.

Π Π°ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π±Π°Π·Π°ΡΠ°, ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ°Π½ΠΎ? ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ°, Π·Π°ΡΠΎΡΠΎ Π±Π°Π·Π°ΡΠ° Π΅ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ°, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½ΡΠΊΠΎΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.

Π’ΡΡΠ±Π²Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π²ΡΠ΅Π΄Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°Π²ΡΠ΅Π΄ΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π’ΡΡ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΈ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ ΡΡΡ Π½Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ.

ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ Π½Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π·Π°ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΈ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅: Ρ ΠΊΠΎΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΡΡΠ΅ΠΏΠ΅Π½ Ρ ΠΊΠΎΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ. Π’ΠΎΠ΅ΡΡ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ (workload), ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.

ΠΠΎ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ Π±Π°Π·Π°ΡΠ°, ΠΈΡΠΊΠ°Ρ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· Π·Π°ΡΠ²ΠΊΠΈ, Π·Π°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ ΡΡΡ Π½Π°ΡΠ° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ, Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π½Π΅ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΊΠ°, ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΈ Ρ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.

Π ΡΡΠΉ ΠΊΠ°ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΡΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ. Π€ΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΎΠ±ΡΠΎ Π½ΠΈΠ²ΠΎ, Π·Π°ΡΠΎΠ²Π° Π·Π° ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°Ρ Ρ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, Π·Π°ΡΠΎΠ²Π° Π°Π³ΡΠ΅ΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅ ΠΏΡΡΠΊΠΎ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. Π’ΠΎΠ΅ΡΡ, ΡΡΡ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΈ ΡΠ»Π΅Π΄ΠΈΠΌ, Π·Π° Π΄Π° Π½Π΅ ΠΈΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½ΠΈΡ Π² ΠΏΠ»Π°Π½Π° Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ.

Π ΡΠΎΠ²Π° ΠΎΡΡΠ°Π²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° Π² ΠΎΠ±Π»Π°ΠΊΠ°, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ Ρ ΠΎΡΡ Π²ΠΈΠ½Π°Π³ΠΈ ΠΎΡΡΡΡΠΏΠ²Π°Ρ Π½Π° Π·Π°Π΄Π΅Π½ ΠΏΠ»Π°Π½. ΠΡΠ΅ ΠΏΠ°ΠΊ Π² Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ° Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΡΡΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.

Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅-ΠΌΠ΅Π½Π΅ Π² Π΄ΠΎΠ±ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π²ΡΠΈΡΠΊΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π²Π΅ΡΠ΅ Π³ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π»ΠΈΠΏΡΠ²Π°Ρ Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π½Π΅ΡΠ°. ΠΠ° ΡΡΡ ΡΡΡΠΎ ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°, ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ»Π°ΠΉΠ΄Π° ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ°.

ΠΡΡΠ²Π°ΡΠ° ΡΠΎΡΠΊΠ° ΠΎΡ ΠΏΠ»Π°Π½Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ°. ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ°? Π ΠΌΠΎΠ΅ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° Π²ΡΡΠ·ΠΊΠΈ, Ρ.Π΅. Π±Π°Π·Π°ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²Π½Π°, ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³Π°. Π ΡΠ°Π·ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΡΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ. Π’Π΅Π·ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΈΡΠ΅.

ΠΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ ΡΠ°ΠΌΠΎ Π²Π΅Π΄Π½ΡΠΆ Π΅ΠΊΡΠ°Π½Π°, Π½Π° ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π ΠΌΠΎΠΆΠ΅Ρ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ, Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π±Π°Π·Π°ΡΠ° ΠΈΠ»ΠΈ Π½Π΅.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½ΠΈ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΈΡΠ΅, Π·Π° Π΄Π° Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΏΠΎΠ΄ ΡΡΠΊΠ° ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΡΠ΅Π±. ΠΡΠΊΠΎΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ ΠΏΡΠΈ ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΠ½ΡΠ΅Π΄Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠ²Π°Ρ Π² Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ Π·Π° drilldown, ΠΊΠΎΠΈΡΠΎ Π²ΠΎΠ΄ΡΡ ΠΊΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.

ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠ²Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π’Ρ ΡΡΠ±ΠΈΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΎΡ ΠΌΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°, ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ ΠΈΠΌ Π·Π° Π΄Π°ΡΠ±ΠΎΡΠ΄ Π΅ ΡΡΡΠ°Π½Π½ΠΎ. ΠΠΌΠ° Π»ΠΈΠ½ΠΊ βΡΡΠ·Π΄Π°ΠΉ Π΄Π°ΡΠ±ΠΎΡΠ΄β. ΠΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π΄Π°ΡΠ±ΠΎΡΠ΄, Π²ΡΡΡΠ½ΠΎΡΡ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠΏΠΈΡΡΠΊ ΠΎΡ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΡΠΏΠΈΡΡΠΊ ΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠΈ. Π ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΡΠΎ, Π·Π°ΠΏΠΎΡΠ²Π°ΡΠ΅ Π΄Π° ΠΊΠ»ΠΈΠΊΠ°ΡΠ΅ Ρ ΠΌΠΈΡΠΊΠ°ΡΠ°, ΠΏΡΠ΅Π²ΡΡΡΠ°ΡΠ΅, ΡΡΡΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ°. Π ΡΠΎΠ²Π° ΠΎΡΠ½Π΅ΠΌΠ° Π²ΡΠ΅ΠΌΠ΅, Ρ.Π΅. Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΈ Π² ΠΈΡΡΠΈΠ½ΡΠΊΠΈΡ ΡΠΌΠΈΡΡΠ» Π½Π° Π΄ΡΠΌΠ°ΡΠ° Π½ΡΠΌΠ°. ΠΠΌΠ° ΡΠ°ΠΌΠΎ ΡΠΏΠΈΡΡΡΠΈ Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ.

ΠΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΡΠΌ ΡΠ΅Π·ΠΈ ΡΠ°Π±Π»Π°? ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ. Π PostgreSQL ΠΈΠΌΠ° ΠΈΠ·Π³Π»Π΅Π΄ pg_stat_statements. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠΎΠΉ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½, Π½ΠΎ ΡΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΊΠ»ΡΡΠΈΠΌ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Π’ΠΎΠΉ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΠΌΠ΅ Π½Π° ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π΄Π° Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎΡΠ΅ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ°. ΠΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ΅Π΄Π½Π° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π² Π±ΠΎΠ»Π½ΠΈΡΠ°ΡΠ°. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΠΌΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½ΠΎ. Π Π΄ΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΠΏΠ΅ΡΡΠ΅Π½ΡΠΈΠ»ΠΈ; Π² PostgreSQL ΠΈΠΌΠ° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΎΠ²Π°. Π ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠΈΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠΈΡΠ²Π°Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, Ρ.Π΅. Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΠ°Π»ΡΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠ° 'select 1' ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ, Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠΈΡΡΠ°, ΠΈΠ»ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠ° ΡΠ΅Π»ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° pg_stat_database. ΠΡΠΈΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ»Π΅ΡΠΎ xact_rollback. Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π±ΡΠΎΡ Π½Π° rollback, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π² Π±Π°Π·Π°ΡΠ°, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΡΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ. Π£ΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ° Π² Π½Π°ΡΠ΅ΡΠΎ ΡΠ°Π±Π»ΠΎ ΠΈ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠΊΠΎ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ Π΄ΠΎΠ±ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΠ΅Π·ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π·Π°ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ Π²ΠΏΡΡΠ½Π΅ΠΌ Π² ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ ΠΈ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅.

ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΡΠ°Ρ ΠΎΠΌΠ΅ΡΡΡ. Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π£ΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠΈΡΡΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π²Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ, Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π±Π°Π·Π°ΡΠ° Π½Π΅ Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π°, Π·Π°ΡΠΎΡΠΎ Π½ΡΠΊΠΎΠΉ Π±Π΅ΠΊΠ΅Π½Π΄ Π΅ ΠΏΠ°Π΄Π½Π°Π». Π’Π°Π·ΠΈ ΡΠΈΡΡΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈ Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΠ΅ Π·Π° Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΠΊΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π΅ Π½ΠΎΡΠΌΠ°Π»Π½Π°, Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π°Π΄ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ Π½Π΅Ρ Π²Π΅ΡΠ΅ ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ ΠΈ Π½Π΅ΡΡΠ½ΠΈ, Π·Π°ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π° Π·Π°ΡΠΎ ΡΠ° ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠΈ.
ΠΠ° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΠΌ ΠΊΡΠΌ ΠΈΠ·Π³Π»Π΅Π΄Π° 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 Π΅, ΡΠ΅ ΡΠΎΠΉ ΡΡΡΠ°Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ Π΄ΡΠ»Π³ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠΎΠ±Π΅Π½ΠΎ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈΡΡΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½ΠΈΡΠΎ Π½Π΅ ΠΏΡΠ°Π²ΡΡ. Π’ΠΎΠ²Π° ΡΠ° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ stat idle-in-transaction. Π’Π°ΠΊΠ°Π²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Π΄ΡΡΠΆΠ° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΡΠΈ Π½Π° Π²Π°ΠΊΡΡΠΌΠ°. Π Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° β ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. Π Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΠ΅Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠ°ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΠΉ-Π΄ΡΠ»Π³ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π½Π°ΠΉ-Π΄ΡΠ»Π³ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π½Π° Π²Π°ΠΊΡΡΠΌΠ° ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ. Π Π°ΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ, ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 10-20-30 ΠΌΠΈΠ½ΡΡΠΈ Π·Π° OLTP Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡ ΠΈ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΈ Π·Π°Π²ΡΡΡΠΈΠΌ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ, ΠΈΠ»ΠΈ Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΈ Π²ΠΈΡΡΡ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π΄ΡΠ»Π³ΠΎ. ΠΠ° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ 10-20-30 ΠΌΠΈΠ½ΡΡΠΈ β ΡΠΎΠ²Π° Π΅ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΈ ΠΏΠΎ-Π΄ΡΠ»Π³ΠΈ ΡΠ»ΡΡΠ°ΠΈ.

Π‘Π»Π΅Π΄Π²Π°ΡΠΈΡΡ Π½ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π²Π΅ΡΠ΅ ΡΠΌΠ΅ ΡΡΠ·Π΄Π°Π»ΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠΌΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π»ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ, ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π΅ Π²Π°ΠΆΠ½Π°, Π·Π°ΡΠΎΡΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° PostgreSQL ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. ΠΠΌΠ° Π΄ΠΎΠ±ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ Π»ΠΎΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
ΠΡΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π΅ ΡΠ²ΡΡΠ·Π²Π°Π»ΠΎ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠ²ΠΎΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ Π²ΡΡΡΠ°Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π’ΠΎΠ²Π° ΡΠ° Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
ΠΠΌΠ° ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΡΠ΅ Π΅ ΡΠ²ΡΡΠ·Π°Π», Π·Π°Π΄ΡΡΠΆΠ° Π²ΡΡΠ·ΠΊΠ°ΡΠ°, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½ΠΈΡΠΎ Π½Π΅ ΠΏΡΠ°Π²ΠΈ. Π’ΠΎΠΉ Π΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ idle.
ΠΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠΌΠ° Π»ΠΎΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°, ΠΎΡΠΊΡΠΈΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° Π² ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π²ΡΠ½ΡΠ΅Π½ ΡΠ΅ΡΡΡΡ ΠΈΠ»ΠΈ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠΎ ΠΏΡΠΈ ΡΠΎΠ²Π° Π½Π΅ Π·Π°ΡΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°. Π ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΎΡΡΠ°Π²Π° Π°ΠΊΡΠΈΠ²Π½Π° Π² Π±Π°Π·Π°ΡΠ° ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠ΅Π΄Π°. Π’ΠΎΠ²Π° Π΅ Π»ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠΊΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΡΡΠ΅ ΡΠ΅ ΡΡΠΈΠ½Π΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (Exception), ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΡΠ°Π½Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π ΡΠΎΠ²Π° ΠΏΡΡΠΊΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° PostgreSQL. PostgreSQL ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ. ΠΠ°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π°Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈΠΌ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ. Π’ΡΡΠ±Π²Π° Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΡΡΠ³ΠΈ Π»ΠΎΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π² ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅. ΠΠΎ ΡΠ΅ ΡΡΠ°Π²Π°Ρ Π»ΠΎΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΠ²Π°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° ΠΏΡΠΎΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π΄Π° Π²Π·Π΅ΠΌΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π² ΠΊΠΎΠ΄Π° Π΄Π° ΡΠ΅ ΡΡΠΈΠ½Π΅ ΠΈ Π΄Π° ΠΎΡΡΠ°Π½Π΅ Π²ΠΈΡΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΠ΄Π²Π° Π΄ΡΡΠ³ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈΡΠΊΠ° ΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΡΠΎΠΉ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π° Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°, Π·Π°ΡΠΎΡΠΎ Π²ΠΈΡΡΡΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²Π΅ΡΠ΅ Π΄ΡΡΠΆΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅. Π Π²ΡΠΎΡΠ°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π² ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΡΠ²Π°ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π·Π°Π²ΡΡΡΠΈ ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ ΠΉ Π½Π΅ Ρ Π·Π°ΡΠ²ΠΎΡΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ. Π’Π°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΡΠ°ΠΊΠ°ΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΏΠ²Π°Ρ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΡ Π»ΠΈΠΌΠΈΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π ΠΊΠΎΠ³Π°ΡΠΎ Π»ΠΈΠΌΠΈΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ Π±Π°Π·Π°ΡΠ°. Π’ΠΎΠ²Π° Π΅ ΡΠΏΠ΅ΡΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π»ΠΎΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡ Π½Π°Π²ΡΠ΅ΠΌΠ΅.

ΠΡΡΠ³ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π ΡΡΠΊ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ΅Π½ Π΄Π°ΡΠ±ΠΎΡΠ΄. ΠΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈΡΠ΅ ΠΎΡΠ³ΠΎΡΠ΅. DB connection β 8 Π±ΡΠΎΡ. Π ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ. ΠΡΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠ° Π² Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΈΡΠΎ Π½Π΅ ΠΏΡΠ°Π²ΡΡ. ΠΡΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΠΈΡΡΡΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π° ΡΠ°ΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈ, Ρ.Π΅. ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈΡΠ΅ ΠΈ Π½ΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅. Π Π½Π°ΡΠ°ΡΡΠΊ Π³Π°Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ.

Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠΎΠ²Π°, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° Π²ΡΡ
Π° pg_stat_activity. ΠΠΊΠΎ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² PostgreSQL, ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ° Π²ΡΡ
Π°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°Π½Π΅ Π²Π°Ρ ΠΏΡΠΈΡΡΠ΅Π», Π·Π°ΡΠΎΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π² PostgreSQL, Ρ.Π΅. ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π² Π½Π΅Π³ΠΎ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ΅Π΄, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ: ΠΎΡ ΠΊΠΎΠΉ Ρ
ΠΎΡΡ Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΡΠ² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ΅, ΠΊΠΎΠ³Π° Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡ Π·Π°ΡΠ²ΠΊΠ° Π΅ Π±ΠΈΠ»Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ. Π, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΠΏΠΎ ΠΏΠΎΠ»Π΅ΡΠΎ stat. Π£ΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ΅Π·ΠΈ stats, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π³Π° ΡΠ° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π±ΡΠΎΡ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡΡΠ° Ρ ΡΠΎΠ·ΠΈ stat Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π Π²Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π² Π½Π°ΡΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π΄Π° ΡΠΈΡΡΠ²Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΏΠΎ ΡΡΡ
.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°. ΠΠ΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ
, ΡΠ΅ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΠΊΡΡΠΌΠΈΡΠ΅, Π½ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π°Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°. ΠΠΌΠ° ΠΏΠΎΠ»Π΅ΡΠ° xact_start ΠΈ query_start. Π’Π΅, ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°. ΠΠ·Π΅ΠΌΠ°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° now(), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°ΡΠΊΠ΅Ρ, ΠΈ ΠΈΠ·Π²Π°ΠΆΠ΄Π°ΠΌΠ΅ timestamp Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΈ Π·Π°ΡΠ²ΠΊΠ°ΡΠ°. Π ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°.
ΠΠΊΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π΄ΡΠ»Π³ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ Π·Π°Π²ΡΡΡΠ²Π°ΠΌΠ΅. ΠΠ° OLTP Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π΄ΡΠ»Π³ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ° Π²Π΅ΡΠ΅ Π½Π°Π΄ 1-2-3 ΠΌΠΈΠ½ΡΡΠΈ.. ΠΠ° OLAP Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π΄ΡΠ»Π³ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ, Π½ΠΎ Π°ΠΊΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π²Π° ΡΠ°ΡΠ°, ΡΠΎΠ²Π° ΡΡΡΠΎ Π΅ ΠΏΡΠΈΠ·Π½Π°ΠΊ, ΡΠ΅ Π½ΡΠΊΡΠ΄Π΅ ΠΈΠΌΠ° Π½Π΅ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ΅.

ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ Π½Π°ΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. Π’Π΅ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°Ρ ΠΊΡΠΌ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°Ρ ΠΊΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. Π Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ Π½Π°ΡΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ° Π½Π°ΠΉ-Β«Π³ΠΎΡΠ΅ΡΠΈΒ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Β«Π³ΠΎΡΠ΅ΡΠΈΡΠ΅Β» ΡΠ°Π±Π»ΠΈΡΠΈ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π½Π° Π±ΡΡΠ·ΠΎ SSD Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡ ΠΈΠ²Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ΄Π°Π²Π½Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π½Π° Β«ΡΡΡΠ΄Π΅Π½Β» Π°ΡΡ ΠΈΠ², Π½Π° SATA Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΈ Π½Π΅ΠΊΠ° ΡΠ΅ Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ ΡΠ°ΠΌ, Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΡΡΡ ΡΠ΅ Π΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ.
Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΡΠ»Π΅Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠΊΠ° Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΡΠ°. Π Π°ΠΊΠΎ ΠΏΠΎΡΡΡΠΎΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, Π½Π° ΡΠ΅Π·ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ·ΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° update ΠΈΠ»ΠΈ increase. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π²ΠΈΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π² Β«ΠΏΠΎΠΏΠ»ΡΠ·Π½Π°Π»Π°ΡΠ°Β» ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°. ΠΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΠΎΠ²Π°? Π PostgreSQL ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΡ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π΅. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ? ΠΠ° Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π΄ΠΎΠ±ΡΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅, PostgreSQL ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΡΠ±ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅. Π’ΠΎΠ²Π° ΡΠ° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° NULL Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°, ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΡΠ²ΠΊΠΈ, ΠΈΠ·Π±ΠΈΡΠ° Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ·ΠΈ ΠΏΠ»Π°Π½ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈ Π²ΡΡΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
ΠΠ½ΠΎΠ³Π΄Π°, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Β«ΠΏΠΎΠΏΠ»ΡΠ·Π²Π°Β». ΠΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ, Π½ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π΅ Π΅ ΡΡΠ±ΡΠ°Π½Π°. Π ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ°Ρ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈ. ΠΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΡΡΠ±ΡΠ°Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ΅Π·ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΊΡΠ΄Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΎ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. Π’.Π΅., Π°ΠΊΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° Π²ΡΡΠ½Π΅ ΡΠ°ΠΌΠΎ 100 ΡΠ΅Π΄Π° (Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ limit 100), Π·Π° ΡΠΎΠ²Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ ΠΏΡΠ»Π΅Π½ ΠΎΠ±Ρ ΠΎΠ΄. Π ΡΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
Π Π½ΠΈΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ²Π° Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π Π²Π΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°, Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ explain Π·Π° Π½Π΅Ρ, Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π½ΠΎΠ² Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. Π Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΠΌΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ°ΡΠΎΠ²Π° ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ.

ΠΡΡΠ³ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΈΡΠ»Ρ, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ Π²Π°Ρ Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ, Π·Π°ΡΠΎΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½. ΠΠΎΠΉ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ? Π ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Prometheus? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΅ΡΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ PostgreSQL β Prometheus. ΠΠΎ ΡΡΠΊ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ Π»ΠΎΡ Π΄Π΅ΡΠ°ΠΉΠ».

ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°. Π ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅, Ρ.Π΅. ΡΠ°ΠΌ ΡΠ° 5 Π³ΡΠ°ΡΠΈΠΊΠ°. Π’ΠΎΠ²Π° ΡΠ° Insert data, Update data, Delete data, Fetch data ΠΈ Return data. ΠΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π·Π° ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅. ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π² PostgreSQL Π²ΡΡΡΠ° Π΄Π°Π½Π½ΠΈ Π² tuple (ΡΠ΅Π΄ΠΎΠ²Π΅). Π ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΡΠ΅Π·ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° Π·Π°Π½ΠΈΠΆΠΈΡΠ΅ Π²Π°ΡΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ, Π·Π°ΡΠΎΡΠΎ tuple Π½Π΅ Π΅ Π±Π°ΠΉΡ, tuple Π΅ ΡΠ΅Π΄, ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΈ Π΅ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°. Π’.Π΅. Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° tuples Π΅ Π½Π΅ΡΠ΅Π°Π»Π½Π° ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°. ΠΠ°ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°Π±Π»ΠΎ ΠΈΠ»ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π²ΠΈ Π²ΡΡΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠ΅Π½Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

ΠΠ°ΠΊ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΡΠ΅Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ? ΠΠ° ΡΠΎΠ²Π° Π² PostgreSQL ΠΈΠΌΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΎΡ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΈΠ·Π³Π»Π΅Π΄ Π΅ . User_tables ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΈΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡ ΡΠ°ΠΌΠΈΡ PostgreSQL. Π ΠΈΠΌΠ° ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Alltables, ΠΊΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΈ Π΄Π° Π΅ ΠΎΡ ΡΡΡ , ΠΊΠΎΠΉΡΠΎ Π²ΠΈ Ρ Π°ΡΠ΅ΡΠ²Π° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ.
Π‘ΠΏΠΎΡΠ΅Π΄ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° insert, update ΠΈ delete. ΠΡΠΈΠΌΠ΅ΡΡΡ Ρ ΡΠ°Π±Π»ΠΎΡΠΎ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ , ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠ°ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΠΌΠ΅ ΠΈ Π½Π° ΡΡΡ . ΠΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΡΠΎΠ²Π° ΡΠ° tuples, Π° Π½Π΅ Π±Π°ΠΉΡΠΎΠ²Π΅, Π·Π°ΡΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π² Π±Π°ΠΉΡΠΎΠ²Π΅.
ΠΠ° Π±Π°Π·Π° Π½Π° ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ Ρ.Π½Π°Ρ. TopN ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Top-5, Top-10. Π ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π³ΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 5 βΠ³ΠΎΡΠ΅ΡΠΈβ ΡΠ°Π±Π»ΠΈΡΠΈ ΠΏΠΎ Π²ΡΡΠ°Π²ΠΊΠΈ. Π Ρ ΡΠ΅Π·ΠΈ TopN ΡΠ°Π±Π»ΠΈΡΠΈ ΠΎΡΠ΅Π½ΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΠΏΠΈΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ»Π΅Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ, Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°Π½ΠΈΡ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΡΡΠΊΠ°Ρ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° Π½Π°Π΄ΡΠ²Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ΡΠ°Π²Π°Ρ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΎΠ±Π΅ΠΌ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°Ρ ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ΅ ΠΎΡΡΠ°Π·ΠΈ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΡΡΠΎ Π½ΠΈ ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°Ρ.

Π ΡΠ΅Π³Π° ΠΌΠ°Π»ΡΠΊ Π²ΡΠΏΡΠΎΡ Π·Π° Π²Π°Ρ. ΠΠ°ΠΊΡΠ² Π²ΡΠΏΡΠΎΡ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ° Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ? ΠΠ°ΠΊΡΠ² Π΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ Π²ΡΠΏΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΈΠ΄Π²Π° Π½Π° ΡΠΌ?

ΠΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ Π²ΡΠΏΡΠΎΡ Π΅: ΠΊΠΎΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ? Π’ΠΎΠ΅ΡΡ, Π½Π΅ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ Π°ΠΊΠΎ Ρ ΠΎΡΡΠ²Π°ΡΠ΅ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠΎ ΡΠ°ΠΌ Π΅ Π°ΠΊΡΠΈΠ²Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ΅ ΡΠ°ΠΌΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΡΡΡΡΠΈ. ΠΠΊΠΎ ΠΎΡΠ²ΠΎΡΠΈΠΌ Top, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΌ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² PostgreSQL, ΠΊΠΎΠΈΡΠΎ Π½Π΅ΡΠΎ ΠΏΡΠ°Π²ΡΡ. ΠΡ Top Π½Π΅ Π΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΡΡ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ ΡΠ΅Π·ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΄Π°Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ»Π·Π°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° PostgreSQL ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°. ΠΠΎ ΠΌΠΎΡ ΠΏΡΠ΅ΡΠ΅Π½ΠΊΠ° β ΡΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 80-85-90 %. Π ΡΠΎΠ²Π° ΡΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ΅ΡΠ½ΠΎ Π΅ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, Π΄Π° ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π±Π°Π·Π°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅Ρ. ΠΠΎ-Π»Π΅ΡΠ½ΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΎΡ ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°.

Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ ΡΡΡ
Π½Π°ΡΠ° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ. ΠΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ Π΄ΡΡΠ³ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π ΡΡΠΊ ΡΡΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ Π΅ Π½Π° Π½ΠΈΠ²ΠΎ. ΠΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ. ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ Π½ΡΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅. ΠΠ΅ Π΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠ»Π³ΠΎ Π³ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠΌΠ°. Π ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.

Π Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° pg_stat_statements. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, Ρ.Π΅. Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ. ΠΠ°, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ»Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π³Π»Π΅Π΄Π° ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ Π΄Π°Π»ΠΈ Π½ΡΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΊΠΎΠΊ Π² Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ°.
ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π½Π°ΠΉ-Π΄ΡΠ»Π³ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, Ρ.Π΅. ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½Π°ΠΉ-Π΄ΡΠ»Π³ΠΎ. Π’Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ. Π‘ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠΎΠ²Π° ΠΏΠΎ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° total_time, mean_time, blk_write_time ΠΈ blk_read_time.
ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Ρ ΠΎΡ Π΄ΠΈΡΠΊΠ°, ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΏΠ°ΠΌΠ΅Ρ ΠΈΠ»ΠΈ, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ΠΆΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π·Π° Π·Π°ΠΏΠΈΡ.
ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΠΈ Π½Π°ΠΉ-ΡΠ΅Π΄ΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ. Π’ΠΎΠ²Π° ΡΠ° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π²ΡΡΡΠ°Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ° Π·Π°Π±ΡΠ°Π²ΠΈΠ»ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π°Ρ Π»ΠΈΠΌΠΈΡ. Π ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΡΠ° ΡΡΠ»ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΏΠΎ Π·Π°ΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ.
Π ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.

Π Π½ΠΈ ΠΎΡΡΠ°Π½Π°Ρ
Π° ΡΠΎΠ½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. Π€ΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ β ΡΠΎΠ²Π° Π½Π° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ ΡΠ° ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΈΡΠ΅, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΠΎ Π³ΠΈ Π½Π°ΡΠΈΡΠ°Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΈ ΡΠΎΡΠΊΠΈ, autovacuum ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ.

ΠΡΡΠ³ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΌΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Maintenance ΠΎΡΠ»ΡΠ²ΠΎ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ Π½Π΅Ρ ΠΈ ΡΠ΅ Π½Π°Π΄ΡΠ²Π°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π½Π΅ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΠΎ ΡΡΠΊ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π²Π°ΠΊΡΡΠΌΠ° ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, Π½ΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π΅Π΄Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π·Π°ΡΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΡΡ ΡΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°.

ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΈ ΡΠΎΡΠΊΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Ρ "ΠΌΡΡΡΠ½ΠΈΡΠ΅" ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΡ ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΠ°ΡΠ΄ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Π΄ΠΈΡΠΊΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π° ΡΠΎΡΠΊΠ°. Π ΡΠ°Π·ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π° ΡΠΎΡΠΊΠ° Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, Π°ΠΊΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ PostgreSQL Π΅ Π±ΠΈΠ» Π·Π°Π²ΡΡΡΠ΅Π½ ΠΏΠΎ Π°Π²Π°ΡΠΈΠΉΠ΅Π½ Π½Π°ΡΠΈΠ½.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ βΠΌΡΡΡΠ²ΠΈβ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΎΠ±Π΅ΠΌ Π·Π°ΠΏΠΈΡ. Π ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π³ΠΎΠ»ΡΠΌ ΠΎΠ±Π΅ΠΌ ΠΏΠ°ΠΌΠ΅Ρ β ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ. Π Π°ΠΊΠΎ checkpoint-ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ Π·Π° ΠΊΡΠ°ΡΡΠΊ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π», ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ° ΡΠ΅ ΠΏΠ°Π΄Π½Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΡΠ΅ΡΡΡΡΠΈ. Π’Π΅ ΡΠ΅ ΡΠ΅ Π±ΠΎΡΡΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈΠΌ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΡΡΠ΅Π· pg_stat_bgwriter ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π±ΡΠΎΡ Π½Π° ΡΠ»ΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ checkpoint-ΠΈ. Π Π°ΠΊΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° 10-15-20 ΠΌΠΈΠ½ΡΡΠΈ, Π·Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΡΠ°Ρ) ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ checkpoint-ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 3-4-5, ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ checkpoint-ΠΈ. ΠΠΎΠΆΠ΅ Π±ΠΈ, Π½ΡΠΊΠ°ΠΊΡΠ² Π³ΠΎΠ»ΡΠΌ Π·Π°ΠΏΠΈΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°. ΠΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΡΠΎΠ²Π°Ρ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ, Π·Π°ΡΠΎΡΠΎ Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΡΠΎΠ²Π°Ρ Π²Π΅ΡΠ΅ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ΅ Π΄Π° Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅.

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

ΠΡΠ±ΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ ΠΈΠΌΠ°Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ. Π ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅, ΡΠΎΠΉ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ ΡΠΏΡΡΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ. ΠΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ, Π΄ΠΎΠ±Π°Π²ΡΡ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π½ΠΎΠ²ΠΈ Π½Π΅ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½Π΅ΡΠΎ ΠΈ Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΉΡΠ΅.
Π Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅, Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈ ΠΊΠ°ΠΊ Ρ Π½Π΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
Π Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°:
- ΠΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ°, Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Ρ Π±Π°Π·Π°ΡΠ° Π΅ Π½Π°ΡΠ΅Π΄.
- ΠΠΈΠ½Π°Π³ΠΈ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° ΠΊΠΎΠΉ Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Ρ Π²Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΡΠ΅Π΅ΡΠ΅ Π»ΠΎΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
- ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π·ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° Π²Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π½ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½.
- ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΡΠΎΠ·ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π½ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½, Ρ ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, Π΄Π° Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅, Π΄Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° ΡΡΡ . Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ.
- ΠΠ°Π΄Π³ΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠΊΠ°ΠΆΠ°Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, Π·Π°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅, Π·Π° Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΈ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, Π·Π°ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΡΡΠΎ Π΄Π° Π³ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΈ ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅.

ΠΠΊΠΎ ΡΠ΅ΠΌΠ°ΡΠ° Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ ΡΠ΅Π·ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅.
β ΡΠΎΠ²Π° Π΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠΈ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°. Π’Π°ΠΌ ΠΈΠΌΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅, ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅. Π Π½Π° ΡΡΡ
Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ:
Π’ΠΎΠ²Π° Π΅ Π½Π°ΡΠΈΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΌΠΎΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½. Π ΡΡΡ ΠΈΠΌΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠΌΠ° Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ ΡΠΈΠΏΠ° select* from Π½Π΅ΡΠΎ. Π’Π°ΠΌ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Ρ JOIN, Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡ ΡΡΡΠΎΠ²ΠΈ ΡΠΈΡΠ»Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΌΠΈ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Ρ.Π΅. ΡΠΎΠ²Π° ΡΠ° Π±Π°ΠΉΡΠΎΠ²Π΅, Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ²ΠΎΠΈΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΈ ΠΈ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°.
ΠΡΠΏΡΠΎΡΠΈ
ΠΡΠΏΡΠΎΡ: ΠΠΈΠ΅ ΠΊΠ°Π·Π°Ρ
ΡΠ΅, ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠ°ΡΠ΅ ΠΌΠ°ΡΠΊΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΠΌΠΈ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ ΡΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΡΠΈΠ³Π°ΠΌΠ΅ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠΎΠΉ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠ²ΠΎΠ΅ΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΈ. ΠΠ°ΠΉ-Π»ΠΎΡΠΎ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ZabbiΡ
. ΠΠ°ΡΠΎΡΠΎ ΡΠΎΠΉ Π½ΡΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΠΎΡΡΡΠΎΠΈ TopN-Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠΈΠ΅ ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ , Π·Π°ΡΠΎΡΠΎ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Ρ
ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΌΠΎΠΌΡΠ΅ΡΠ° ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π’Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° PostgreSQL Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅. ΠΠΈΡΠ° ΡΠ²ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ±ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· Prometheus ΠΈ Π³ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°. . ΠΠΌΠ°ΠΌ Π·Π°Π΄Π°ΡΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠ²ΠΎΠΉ Π΅ΠΊΡΠΏΠΎΡΡΠ΅Ρ Π² Prometheus ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌ Π²ΡΠΈΡΠΊΠΎ Π² Grafana.
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ° Π»ΠΈ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π½Π° AWR ΠΎΡΡΠ΅ΡΠΈΡΠ΅ ΠΈΠ»ΠΈ β¦ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ? ΠΠ½Π°Π΅ΡΠ΅ Π»ΠΈ Π½Π΅ΡΠΎ ΡΠ°ΠΊΠΎΠ²Π°?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ°, Π·Π½Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ AWR, ΡΠΎΠ²Π° Π΅ ΡΡΡΠ°Ρ
ΠΎΡΠ½Π° Π²Π΅Ρ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π». Π‘ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π±Π°Π·ΠΎΠ²ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π² ΡΡΡΠΈΡ PostgreSQL ΠΈΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΡΡΡΡΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ. ΠΠ΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° Π½Π΅ΡΠΎ Π΅ Π½Π° ΡΠΎΡΡΠΌΠ° sql.ru Π² ΡΠ΅ΠΌΠ°ΡΠ° PostgreSQL. ΠΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Ρ
Π²Π°Π½Π΅ΡΠ΅ ΡΠ°ΠΌ. ΠΠ°, ΡΠ°ΠΊΠΈΠ²Π° Π½Π΅ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π² Π°Π· ΡΡΡΠΎ ΠΏΠΈΡΠ° Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΡΡΠΎΡΠΎ.
P.S.1 ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ postgres_exporter, ΠΊΠΎΠΉ Π΄Π°ΡΠ±ΠΎΡΠ΄ ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅? ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ. Π’Π΅ Π²Π΅ΡΠ΅ ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½?
P.S.2 ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ pganalyze, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° SaaS, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°. , ΠΌΠΎΠ»Ρ.
ΠΠΎΠΉ 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 Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° SaaS β Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π³ΠΎ ΠΈΠ·ΡΡΠΈΡ.
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
