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

ΠΠΎΠ³Π° Π΄Π° Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° ΠΈ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠΌ β ΠΈΠΌΠ°Π»ΠΎ Π»ΠΈ Π΅ Π½ΡΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ.
ΠΠ΄Π½Π° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΅ uptime. ΠΠΎ uptime Π² PostgreSQL Π΅ ΠΌΠ°Π»ΠΊΠΎ Ρ ΠΈΡΡΠ° ΡΠ°Π±ΠΎΡΠ°. Π©Π΅ ΠΎΠ±ΡΡΠ½Ρ Π·Π°ΡΠΎ. ΠΠΎΠ³Π°ΡΠΎ PostgreSQL ΡΡΠ°ΡΡΠΈΡΠ°, Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΡΡΠΈΡΠ° uptime. ΠΠΎ Π°ΠΊΠΎ Π² Π½ΡΠΊΠ°ΠΊΡΠ² ΠΌΠΎΠΌΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ°, ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈ OOM-killer, ΡΠΎ Π² ΡΠ°ΠΊΡΠ² ΡΠ»ΡΡΠ°ΠΉ PostgreSQL ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π½ΡΠ»ΠΈΡΠ° ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΠ°ΡΠ΄ΠΈΡΠ°Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π° ΡΠΎΡΠΊΠ°. Π Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠΎΠ²Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ°, Π±Π°Π·Π°ΡΠ° Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ, Ρ.Π΅. ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ downtime. ΠΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±ΡΠΎΡΡΡΡ Π½Π° uptime Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ Π½ΡΠ»ΠΈΡΠ°, Π·Π°ΡΠΎΡΠΎ ΠΎΡΡΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΎΡ ΡΡΠ°ΡΡΠ° Π½Π° postmaster ΠΎΡ ΡΠ°ΠΌΠΈΡ ΠΏΡΡΠ²ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΡΠΎ Π·Π°ΡΠΎ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π±ΡΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ Π½Π° Π²Π°ΠΊΡΡΠΌΠ°. ΠΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ autovacuum Π² PostgreSQL? Π’ΠΎΠ²Π° Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π² PostgreSQL. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΈ Π·Π° Π½Π΅Ρ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ΠΊΠΈ. ΠΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΡΡΠΈΠΈ Π·Π° Π²Π°ΠΊΡΡΠΌ, Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° Π³ΠΎ ΡΡΠΈΡΠ°Ρ Π·Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π·Π»ΠΎ. ΠΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΊΠ°. Π’ΠΎΠ²Π° Π΅ Π°Π½Π°Π»ΠΎΠ³ Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, ΠΊΠΎΠΉΡΠΎ ΡΠΈΡΡΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ Π½Π° Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΠΌΡΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅.
ΠΠ°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ? ΠΠ°ΡΠΎΡΠΎ Π²Π°ΠΊΡΡΠΌ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π½Π°Π½Π°ΡΡ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΡΠ΅ΡΠΈ. Π’ΠΎΠΉ ΠΎΡΠ½Π΅ΠΌΠ° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ ΡΠΎΠ²Π°.
ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π·Π° Π½ΠΈΠΌ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²ΡΡ Π°ΡΠ° pg_stat_activity, Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ°Π·Π΄Π΅Π». Π’Π°Π·ΠΈ Π²ΡΡ Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π§ΡΠ΅Π· ΡΠ°Π·ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π±ΡΠΎΡ Π½Π° Π²Π°ΠΊΡΡΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ»Π΅Π΄ΠΈΠΌ Π²Π°ΠΊΡΡΠΌΠΈΡΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π°ΠΊΠΎ Π½Π°Π΄Π²ΠΈΡΠΈΠΌ Π»ΠΈΠΌΠΈΡΠ°, ΡΠΎΠ²Π° Π΅ ΠΏΠΎΠ²ΠΎΠ΄ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° PostgreSQL ΠΈ Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²Π°ΠΊΡΡΠΌΠ°.
ΠΡΡΠ³Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ Π½Π° PostgreSQL Π΅, ΡΠ΅ ΡΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Π΄Π° ΠΎΡ Π΄ΡΠ»Π³ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠΎΠ±Π΅Π½ΠΎ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ° Π²ΠΈΡΡΡΠΈ ΠΈ Π½Π΅ ΠΏΡΠ°Π²ΡΡ Π½ΠΈΡΠΎ. Π’ΠΎΠ²Π° ΡΠ° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΠ½ΠΈ 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 Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΈ ΡΠ΅ Π΄Π° ΡΠΈ ΠΆΠΈΠ²Π΅ΡΡ ΡΠ°ΠΌ, Π° Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΡΡΡ Π΄Π° ΡΡΠ°Π²Π° ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΡΠ»Π΅Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°Π½Π΅. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π²Π½Π΅Π΄ΡΠΈΠ» Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΡΠ°. Π Π°ΠΊΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, Π½Π° ΡΠ΅Π·ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΈΠΊ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΈΠΊ Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½ΠΈΡ. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π²ΠΈΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π½Π° 'ΠΏΠΎΠΏΠ»ΡΠ·Π½Π°Π»Π°ΡΠ°' ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°. ΠΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΠΎΠ²Π°? Π 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 Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π°ΡΠ΅ΡΠΎ Π’Π. ΠΠΈΡΠ° ΡΠ²ΠΎΡ pet-project, ΠΊΠΎΠΉΡΠΎ ΡΡΠ±ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· Prometheus ΠΈ Π³ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π² . ΠΠΌΠ°ΠΌ Π·Π°Π΄Π°ΡΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠ²ΠΎΠΉ Π΅ΠΊΡΠΏΠΎΡΡΠ΅Ρ Π² Prometheus ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²Π° Π΄Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌ Π²ΡΠΈΡΠΊΠΎ Π² Grafana.
ΠΡΠΏΡΠΎΡ: ΠΠΌΠ° Π»ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π½Π° AWR ΠΎΡΡΠ΅ΡΠΈΡΠ΅ ΠΈΠ»ΠΈ ... Π°Π³ΡΠ΅Π³Π°ΡΠΈΡΡΠ°? ΠΠ½Π°Π΅ΡΠ΅ Π»ΠΈ Π½Π΅ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°?
ΠΡΠ³ΠΎΠ²ΠΎΡ: ΠΠ°, Π·Π½Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ AWR, ΡΠΎΠ²Π° Π΅ ΡΡΡΠ°Ρ
ΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΠΌΠ° Π½Π°ΠΉ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΌΠΎΠ΄Π΅Π». ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ baseline Π΄Π°Π½Π½ΠΈ Π² ΡΡΡΠΈΡ PostgreSQL ΠΈΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ. ΠΠ΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ Π½Π° ΡΠΎΡΡΠΌΠ° sql.ru Π² ΡΠ΅ΠΌΠ°ΡΠ° Π·Π° PostgreSQL. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ°ΠΌ. ΠΠ°, ΡΠ°ΠΊΠΈΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈ Π² ΠΌΠΎΡ Π°Π· ΡΡΡΠΎ ΠΏΠΈΡΠ° Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΡΡΠΎΡΠΎ.
P.S.1 ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ postgres_exporter, ΠΊΠ°ΠΊΡΠ² dashboard ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅? ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ. Π’Π΅ Π²Π΅ΡΠ΅ ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½?
P.S.2 ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ pganalyze, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° SaaS ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°. , ΠΌΠΎΠ»Ρ.
ΠΠΎΠΉ self-hosted ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° PostgreSQL (Ρ dashboard) ΡΠΌΡΡΠ°ΡΠ΅ Π·Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ?
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 β Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°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
