Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Ρ€Π°Π·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° АлСксСй ЛСсовски ΠΎΡ‚ Data Egret "Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL"

Π’ Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ АлСксСй ЛСсовски Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ PostgreSQL статистиката, ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°Ρ‚ Ρ‚Π΅ ΠΈ Π·Π°Ρ‰ΠΎ трябва Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‚ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°; Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π°Ρ‚Π΅. Π”ΠΎΠΊΠ»Π°Π΄ΡŠΡ‚ Ρ‰Π΅ бъдС ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½Π° администраторитС Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, систСмнитС администратори ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС интСрСсуват ΠΎΡ‚ отстраняванСто Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Postgres.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Казвам сС АлСксСй ЛСсовски, прСдставям компанията Data Egret.

НСсколко Π΄ΡƒΠΌΠΈ Π·Π° сСбС си. Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ… ΠΏΡ€Π΅Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ систСмСн администратор.

Администрирах Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Linux систСми, Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ… сС с ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Linux, Ρ‚.Π΅. виртуализация, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Ρ€Π°Π±ΠΎΡ‚ΠΈΡ… с проксита ΠΈ Ρ‚.Π½. Но Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Ρ‡Π΅ с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, PostgreSQL. Π₯арСса ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎ. И Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° отдСлям основната част ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ си Π²Ρ€Π΅ΠΌΠ΅ Π·Π° PostgreSQL. Π’Π°ΠΊΠ° постСпСнно стана PostgreSQL DBA.

ΠŸΡ€Π΅Π· цялата си ΠΊΠ°Ρ€ΠΈΠ΅Ρ€Π° Π²ΠΈΠ½Π°Π³ΠΈ съм сС интСрСсувал ΠΎΡ‚ Ρ‚Π΅ΠΌΠΈ Π½Π° статистиката, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° тСлСмСтрия. ΠšΠΎΠ³Π°Ρ‚ΠΎ бях систСмСн администратор, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ… ΠΌΠ½ΠΎΠ³ΠΎ с Zabbix. Написах малък Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ скриптовС, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ zabbix-extensions. Π’ΠΎΠΉ бСшС доста популярСн Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ си. И Ρ‚Π°ΠΌ моТСшС Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΈ Π½Π΅Ρ‰Π°, Π½Π΅ само Linux, Π½ΠΎ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ.

Π‘Π΅Π³Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ с PostgreSQL. Пиша Π½ΠΎΠ² инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ позволява Ρ€Π°Π±ΠΎΡ‚Π° с PostgreSQL статистиката. Π’ΠΎΠΉ сС Π½Π°Ρ€ΠΈΡ‡Π° pgCenter (статия Π½Π° Ρ…Π°Π±Ρ€Π° β€” Postgres статистика Π±Π΅Π· Π½Π΅Ρ€Π²ΠΈ ΠΈ усилия).

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Няколко основни въвСдСния. Какви ситуации сС срСщат ΠΏΡ€ΠΈ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ? ΠΠ°ΡΡ‚ΡŠΠΏΠ²Π° някаква ΠΏΠΎΠ²Ρ€Π΅Π΄Π°, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π²Π΅Ρ‡Π΅ Π΅ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²Π΅Π½Π°, ΠΈΠ΄Π²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡΡ‚ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π° ΠΈΠ»ΠΈ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ ΠΊΠ°Π·Π²Π°: Β«ΠŸΡ€ΠΈΡΡ‚Π΅Π»ΠΈ, трябва Π΄Π° наблюдавамС Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ сС случи Π½Π΅Ρ‰ΠΎ лошо ΠΈ трябва Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅Β». И Ρ‚ΡƒΠΊ Π·Π°ΠΏΠΎΡ‡Π²Π° интСрСсният процСс Π½Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π° Ρ‚Π°ΠΊΠ°Π²Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° наблюдавамС Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ – PostgreSQL, MySQL ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ. ΠšΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚: Β«Π§ΡƒΡ…, Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ρ‚Π°ΠΊΠ°Π²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. НСка Π΄Π° я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅Β». ΠšΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° спорят ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си. И Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ някаква Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π½Π° PostgreSQL Π² нСя Π΅ прСдставСн доста слабо ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° Π΄ΠΎΡ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ Π½Π΅Ρ‰ΠΎ. Π’Π·ΠΈΠΌΠ°ΠΌΠ΅ някакви Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚ GitHub, ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΠΌΠ΅ Π³ΠΈ, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°ΠΌΠ΅ скриптовС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅. И Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‚ΠΎΠ²Π° сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² Ρ€ΡŠΡ‡Π΅Π½ Ρ‚Ρ€ΡƒΠ΄.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π—Π°Ρ‚ΠΎΠ²Π° Π² Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π°ΠΌ Π΄Π° Π²ΠΈ прСдоставя знания ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ само Π·Π° PostgreSQL, Π½ΠΎ ΠΈ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. И Π΄Π° Π²ΠΈ Π΄Π°ΠΌ знания, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ позволят Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ вашия ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»Π·Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ Π±Π°Π·Π°Ρ‚Π° си Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΈ Π½Π°Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π²Π°Ρ‚Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ‚.

И ΠΈΠ΄Π΅ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π² Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄, ΠΌΠΎΠ³Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° сС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Ρ‚ към всяка Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, нСзависимо Π΄Π°Π»ΠΈ става Π΄ΡƒΠΌΠ° Π·Π° Π‘Π£Π‘Π” ΠΈΠ»ΠΈ noSQL. Π—Π°Ρ‚ΠΎΠ²Π° Ρ‚ΡƒΠΊ Π½Π΅ става Π΄ΡƒΠΌΠ° само Π·Π° PostgreSQL, Π½ΠΎ Ρ‰Π΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Π² PostgreSQL. Π©Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° заявки, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΡΡŠΡ‰Π½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π² PostgreSQL Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. И Π°ΠΊΠΎ Π²Π°ΡˆΠ°Ρ‚Π° Π‘Π£Π‘Π” ΠΈΠΌΠ° ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Ρ‚Π΅, Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΈ всичко Ρ‰Π΅ бъдС Π½Π°Ρ€Π΅Π΄.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовскиВ Π΄ΠΎΠΊΠ»Π°Π΄Π° няма Π΄Π°
Ρ€Π°Π·ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊ Π΄Π° доставятС ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Няма Π΄Π° спомСнавам Π½ΠΈΡ‰ΠΎ Π·Π° пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ прСдоставянСто ΠΈΠΌ Π½Π° потрСбитСля. Няма Π΄Π° говоря Π·Π° увСдомяванСто.
Π’ Ρ…ΠΎΠ΄Π° Π½Π° Ρ€Π°Π·ΠΊΠ°Π·Π° Ρ‰Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΠΊΡ€ΠΈΠΉΠ½ΡˆΠΎΡ‚ΠΎΠ²Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ ΠΈ Ρ‰Π΅ Π³ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΠ²Π°ΠΌ. ВсС ΠΏΠ°ΠΊ, Ρ‰Π΅ сС постарая Π΄Π° Π½Π΅ спомСнавам ΠΌΠ°Ρ€ΠΊΠΈ, Π·Π° Π΄Π° Π½Π΅ създавам Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈΠ»ΠΈ Π°Π½Ρ‚ΠΈΡ€Π΅ΠΊΠ»Π°ΠΌΠ° Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° всички съвпадСния са случайни ΠΈ остават Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²ΡŠΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ с обяснСниС ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²Π°ΠΆΠ½Π° систСма, която всСки трябва Π΄Π° ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π°. Всички Π³ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π½Π΅ Π΅ бизнСс ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ Π½Π΅ ΠΎΠΊΠ°Π·Π²Π° пряко влияниС Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ΅Ρ‡Π°Π»Π±Π°Ρ‚Π° Π½Π° компанията, Π·Π°Ρ‚ΠΎΠ²Π° Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π²ΠΈΠ½Π°Π³ΠΈ сС отдСля Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎ ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Ако ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ сС с ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π°ΠΊΠΎ нямамС, Π΄ΠΎΠ±Ρ€Π΅, оставямС Π³ΠΎ Π² бэклог ΠΈ някой Π΄Π΅Π½ Ρ‰Π΅ сС Π²ΡŠΡ€Π½Π΅ΠΌ към Ρ‚Π΅Π·ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, ΠΎΡ‚ нашия ΠΎΠΏΠΈΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС явим ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ чСсто Π΅ Π½Π΅Π΄ΠΎΡ€Π°Π·Π²ΠΈΡ‚ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π° интСрСсни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π—Π°Ρ‚ΠΎΠ²Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° бъдС подобряван.

Π‘Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ са слоТни систСми, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ€Π°Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ са Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° информация. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π° Π·Π° компанията ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π·Π°Π³ΡƒΠ±Π΅Π½Π° ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ са ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ слоТни части ΠΎΡ‚ софтуСра. Π’Π΅ сС ΡΡŠΡΡ‚ΠΎΡΡ‚ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. И ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ наблюдавани.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовскиАко Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π·Π° PostgreSQL, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° си Π³ΠΎ прСдставим ΠΊΠ°Ρ‚ΠΎ схСма, която сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ взаимодСйстват ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си. И Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π² PostgreSQL ΠΈΠΌΠ° Ρ‚. Π½Π°Ρ€. подсистСма Stats Collector, която ΡΡŠΠ±ΠΈΡ€Π° статистика Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚Π΅Π·ΠΈ подсистСми ΠΈ прСдоставя интСрфСйс Π½Π° администратора ΠΈΠ»ΠΈ потрСбитСля, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°Π·ΠΈ статистика.

Π’Π°Π·ΠΈ статистика Π΅ прСдставСна ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΡŽΡ‚Π° (view). ΠœΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Ρ€Π΅ΠΊΠ°Ρ‚ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. Π’.Π΅. с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° стандартния psql ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ select Π½Π° Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΡŽΡ‚Π° ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° подсистСмитС Π½Π° PostgreSQL.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Π»ΡŽΠ±ΠΈΠΌΠ°Ρ‚Π° си систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π΄Π° нарисуватС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π² Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π΅Π½ ΠΏΠ»Π°Π½.

Но Π² Ρ‚ΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ няма Π΄Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌ всичкитС Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π½Π΅ΠΌΠ΅ цял Π΄Π΅Π½. Π©Π΅ сС фокусирам Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ Π½Π° Π΄Π²Π΅-Ρ‚Ρ€ΠΈ-Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Π½Π΅Ρ‰Π° ΠΈ Ρ‰Π΅ обясня ΠΊΠ°ΠΊ Ρ‚Π΅ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° подобряванС Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.
Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
И ΠΊΠΎΠ³Π°Ρ‚ΠΎ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° Π±Π°Π·Π°Ρ‚Π°, ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° слСдим? На ΠΏΡŠΡ€Π²ΠΎ място, трябва Π΄Π° слСдим Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΅ услуга, която прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° слСдим Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚Ρ‚Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ качСствСни ΠΈ количСствСни характСристики.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° трябва Π΄Π° слСдим ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ с Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° нанСсат Ρ‰Π΅Ρ‚Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И Ρ‚Π΅Ρ…Π½Π°Ρ‚Π° дСйност ΡΡŠΡ‰ΠΎ трябва Π΄Π° бъдС наблюдавана.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° работят с Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° трябва Π΄Π° слСдим ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ работят с Π΄Π°Π½Π½ΠΈΡ‚Π΅: с ΠΊΠΎΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Π° Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° стСпСн с ΠΊΠΎΠΈ индСкси. Π’.Π΅. трябва Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ (workload), ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Но ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ сС ΡΡŠΡΡ‚ΠΎΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΎΡ‚ заявки. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ с Π±Π°Π·Π°Ρ‚Π° ΠΈ заявяват Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· заявки, Π·Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ заявки ΠΈΠΌΠ°ΠΌΠ΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π΄Π° прослСдим тяхната адСкватност, Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ Π½Π΅ са написани Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»ΠΈ някои ΠΎΠΏΡ†ΠΈΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ прСнаписани, Π·Π° Π΄Π° работят ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈ с ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π° производитСлност.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, тя Π²ΠΈΠ½Π°Π³ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ„ΠΎΠ½ΠΎΠ²ΠΈ процСси. Π€ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси позволяват ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅Ρ‚ΠΎ Π½Π° производитСлността Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΎΠ±Ρ€ΠΎ Π½ΠΈΠ²ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π·Π° тяхната Ρ€Π°Π±ΠΎΡ‚Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ рСсурси. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΡ€ΠΈΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ с рСсурситС Π½Π° клиСнтскитС заявки, Π·Π°Ρ‚ΠΎΠ²Π° агрСсивната Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ„ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси ΠΌΠΎΠΆΠ΅ пряко Π΄Π° влияС Π½Π° производитСлността Π½Π° клиСнтскитС заявки. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΈ тях трябва Π΄Π° наблюдавамС ΠΈ Π΄Π° слСдим Π·Π° Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ във Ρ„ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

И всичко Ρ‚ΠΎΠ²Π° относно ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ остава Π² систСмната ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°. Но ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π² голямата си част Π½Π°ΡˆΠ°Ρ‚Π° инфраструктура ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° Π² ΠΎΠ±Π»Π°Ρ†ΠΈΡ‚Π΅, систСмнитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ хост Π²ΠΈΠ½Π°Π³ΠΈ ΠΎΡ‚ΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ Π½Π° Π·Π°Π΄Π΅Π½ ΠΏΠ»Π°Π½. Но Π² Π±Π°Π·ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‚Π΅ всС ΠΏΠ°ΠΊ са Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ систСмнитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

БистСмнитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ са Π² Π΄ΠΎΠ±Ρ€ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, всички ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ систСми Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ цяло Π½Π΅ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ някои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π½Π΅Ρ‰Π°. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ сС спра Π½Π° тях, Ρ‰Π΅ ΠΈΠΌΠ° няколко слайда ΠΏΠΎ тях.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
ΠŸΡŠΡ€Π²Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ ΠΏΠ»Π°Π½Π° Π΅ наличността. Какво Π΅ наличност? Π—Π° ΠΌΠ΅Π½ наличността Π΅ способността Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π° обслуТва Π²Ρ€ΡŠΠ·ΠΊΠΈ, Ρ‚.Π΅. Π±Π°Π·Π°Ρ‚Π° Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π°, тя, ΠΊΠ°Ρ‚ΠΎ услуга, ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. И Ρ‚Π°Π·ΠΈ наличност ΠΌΠΎΠΆΠ΅ Π΄Π° сС оцСнява Ρ‡Ρ€Π΅Π· някои характСристики. Π’Π΅Π·ΠΈ характСристики Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° сС изнСсат Π½Π° Ρ‚Π°Π±Π»Π°Ρ‚Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
ВсСки Π·Π½Π°Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Ρ‚Π°Π±Π»Π°Ρ‚Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΏΠΎΠ³Π»Π΅Π΄ Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΡŠΠ±Ρ€Π°Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° информация. И Π²ΠΈΠ΅ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° установитС – ΠΈΠΌΠ° Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π±Π°Π·Π°Ρ‚Π° ΠΈΠ»ΠΈ Π½Π΅.
Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, наличността Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ характСристики Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° сС изнасят Π½Π° Ρ‚Π°Π±Π»Π°Ρ‚Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Π·Π° Π΄Π° Π΅ информацията ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ° ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ вас. Някои Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ ΠΏΡ€ΠΈ разслСдванСто Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ, ΠΏΡ€ΠΈ разслСдванСто Π½Π° ΠΈΠ·Π²ΡŠΠ½Ρ€Π΅Π΄Π½ΠΈ ситуации, трябва Π΄Π° сС изнасят Π½Π° Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΈ Ρ‚Π°Π±Π»Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π° сС скриват Π² Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ Π·Π° drilldown, ΠΊΠΎΠΈΡ‚ΠΎ водят към външни систСми Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π΅Π΄Π½Π° извСстна систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ страхотна систСма Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Вя ΡΡŠΠ±ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΎΡ‚ моя Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, тя ΠΈΠΌΠ° странно Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° Ρ‚Π°Π±Π»Π°Ρ‚Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Има Π»ΠΈΠ½ΠΊ "създаванС Π½Π° Ρ‚Π°Π±Π»ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅". Но ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Π²ΠΈΠ΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ списък, ΡΡŠΡΡ‚ΠΎΡΡ‰ сС ΠΎΡ‚ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ списък с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ, Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚Π΅ Π΄Π° ΠΊΠ»ΠΈΠΊΠ°Ρ‚Π΅ с ΠΌΠΈΡˆΠΊΠ°Ρ‚Π°, Π΄Π° прСлистватС, Π΄Π° Ρ‚ΡŠΡ€ΡΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Π°Ρ‚Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. И Π·Π° Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΈΠ²Π° Π²Ρ€Π΅ΠΌΠ΅, тоСст, Ρ‚Π°Π±Π»Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π°, няма. Има само ΡΠΏΠΈΡΡŠΡ†ΠΈ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Какво трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Ρ‚Π΅Π·ΠΈ Ρ‚Π°Π±Π»Π° Π·Π° управлСния? МоТС Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с характСристиката Π²Ρ€Π΅ΠΌΠ΅ Π·Π° рСакция. Π’ PostgreSQL ΠΈΠΌΠ° ΠΈΠ·Π³Π»Π΅Π΄ pg_stat_statements. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚ΠΎΠΉ Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ систСмни ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π’ΠΎΠΉ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° информация Π·Π° всички изпълнявани заявки, ΠΊΠΎΠΈΡ‚ΠΎ са Π±ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС основаСм Π½Π° Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π½Π° всички заявки ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° броя Π½Π° заявкитС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π°. Но Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ°Π²Π° срСдна Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΏΠΎ Π±ΠΎΠ»Π½ΠΈΡ†ΠΈΡ‚Π΅. МоТСм Π΄Π° сС основаСм Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° – ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° заявки, максимално ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎ. И Π΄ΠΎΡ€ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ»ΠΈ, Π² PostgreSQL ΠΈΠΌΠ° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ някакви Ρ†ΠΈΡ„Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π²Π΅Ρ‡Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ заявки, Ρ‚.Π΅. Π½Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ Ρ„Π°Π»ΡˆΠΈΠ²Π° заявка β€˜select 1’ ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° рСакция, Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΏΠΎ Π²Π΅Ρ‡Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ заявки ΠΈ прСдставямС ΠΈΠ»ΠΈ с ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ†ΠΈΡ„Ρ€Π°, ΠΈΠ»ΠΈ ΠΏΠΎ нСя ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊ.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° слСдим броя Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ систСмата Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. И Π·Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° pg_stat_database. ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ сС Π½Π° ΠΏΠΎΠ»Π΅Ρ‚ΠΎ xact_rollback. Π’ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ само броя Π½Π° rollback-ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС случват Π² Π±Π°Π·Π°Ρ‚Π°, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΎΡ‚Ρ‡ΠΈΡ‚Π° броя Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅. Условно ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Ρ‚ΠΎΠ²Π° число Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° слСдим ΠΊΠΎΠ»ΠΊΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Ако Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡŠΡ€ ΠΏΠΎΠ²ΠΎΠ΄ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π² Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ са Ρ‚Π΅Π·ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π·Π°Ρ‰ΠΎ сС случват, Π° слСд Ρ‚ΠΎΠ²Π° Π΄Π° изслСдвамС ΠΈ Π΄Π° Π³ΠΈ Ρ€Π΅ΡˆΠΈΠΌ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

МоТСм Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°Ρ…ΠΎΠΌΠ΅Ρ‚ΡŠΡ€. Π’ΠΎΠ²Π° Π΅ броят Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда ΠΈ броят Π½Π° заявки Π² сСкунда. Условно ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ числа ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π° производитСлност Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΠΈΠΊΠΎΠ²Π΅ Π½Π° заявки, ΠΏΠΈΠΊΠΎΠ²Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π±Π°Π·Π°Ρ‚Π° Π΅ нСдостигната, Π·Π°Ρ‰ΠΎΡ‚ΠΎ някакъв backend Π΅ ΠΏΠ°Π΄Π½Π°Π». Π’Π°Π·ΠΈ Ρ†ΠΈΡ„Ρ€Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° сС слСди ΠΈ Π΄Π° сС ΠΏΠΎΠΌΠ½ΠΈ, Ρ‡Π΅ Π·Π° нашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠ°Π²Π° производитСлност Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½Π°, Π° стойности Π½Π°Π΄ ΠΈ ΠΏΠΎΠ΄ нСя Π²Π΅Ρ‡Π΅ са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ ΠΈ нСясни, ΠΈ Π·Π½Π°Ρ‡ΠΈ, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π·Π°Ρ‰ΠΎ са Ρ‚Π°ΠΊΠΈΠ²Π° Ρ†ΠΈΡ„Ρ€ΠΈ.

Π—Π° Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ броя Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅, ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към ΠΈΠ·Π³Π»Π΅Π΄Π° pg_stat_database. МоТСм Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ΠΌ броя Π½Π° commit ΠΈ броя Π½Π° rollback ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ броя Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда.

ВсСки Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‡Π΅ Π² Π΅Π΄Π½Π° транзакция ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΠ±Π΅Ρ€Π°Ρ‚ няколко запитвания? Π—Π°Ρ‚ΠΎΠ²Π° TPS ΠΈ QPS са ΠΌΠ°Π»ΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ.

Броят запитвания Π² сСкунда ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚ pg_stat_statements ΠΈ просто Π΄Π° сС прСсмСтнС сумата Π½Π° всички изпълнСни запитвания. Ясно Π΅, Ρ‡Π΅ сравнявамС Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° стойност с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π°, ΠΈΠ·Π²Π°ΠΆΠ΄Π°ΠΌΠ΅ я, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π΄Π΅Π»Ρ‚Π°Ρ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ количСството.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Мога Π΄Π° добавя Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰ΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ наличността Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° ΠΈ Π΄Π° прослСдим – ΠΈΠΌΠ°Π»ΠΎ Π»ΠΈ Π΅ някакво Π²Ρ€Π΅ΠΌΠ΅ Π½Π° нСработоспособност.

Π•Π΄Π½Π° ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π΅ 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. АлСксСй ЛСсовски
Π‘Π»Π΅Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΡŠΡ‚ с ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ смС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π»ΠΈ Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ смС ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π·Π° наличност, ΠΌΠΎΠΆΠ΅ΠΌ ΡΡŠΡ‰ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° информация Π·Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π΅ Π²Π°ΠΆΠ½Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ, ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° PostgreSQL, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ. Има Π΄ΠΎΠ±Ρ€ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ лоши ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

ΠŸΡ€ΠΎΡΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Под ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π° Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° своитС запитвания, Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΈ изпълнява, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ сС Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ΠΎΠ²Π° са Π΄ΠΎΠ±Ρ€ΠΈ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

Има ситуации, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ сС Π΅ ΡΠ²ΡŠΡ€Π·Π°Π», Π½ΠΎ Π·Π°Π΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ½Π΅ΠΊΡ‚, Π±Π΅Π· Π΄Π° ΠΏΡ€Π°Π²ΠΈ Π½ΠΈΡ‰ΠΎ. Π’ΠΎΠΉ сС Π½Π°ΠΌΠΈΡ€Π° Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ idle.

Но понякога ΠΈΠΌΠ° лоши ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. НапримСр, ΡΡŠΡ‰ΠΈΡΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ сС ΡΠ²ΡŠΡ€Π·Π°, ΠΎΡ‚ΠΊΡ€ΠΈ транзакция, Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ Π² Π±Π°Π·Π°Ρ‚Π° ΠΈ послС ΠΎΡ‚ΠΈΠ΄Π΅ Π² ΠΊΠΎΠ΄Π°, Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, Π·Π° Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ с външСн ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ ΠΈΠ»ΠΈ Π·Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. Но Ρ‚ΠΎΠΉ Π½Π΅ Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ транзакцията. И транзакцията остава ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π² Π±Π°Π·Π°Ρ‚Π° ΠΈ Π·Π°Π΄ΡŠΡ€ΠΆΠ° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π° Ρ€Π΅Π΄Π°. Π’ΠΎΠ²Π° Π΅ лошо ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. И Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ случайно сС сринС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° СксСпшън (Exception), Ρ‚ΠΎ транзакцията ΠΌΠΎΠΆΠ΅ Π΄Π° останС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ дълго Π²Ρ€Π΅ΠΌΠ΅. И Ρ‚ΠΎΠ²Π° пряко влияС Π½Π° производитСлността Π½Π° PostgreSQL. PostgreSQL Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ. Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС слСдят Ρ‚Π°ΠΊΠΈΠ²Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ Π΄Π° сС Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈΠΌ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°Π²Ρ€Π΅ΠΌΠ΅. И Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π½Π΅ сС случват Ρ‚Π°ΠΊΠΈΠ²Π° ситуации.

Π”Ρ€ΡƒΠ³ΠΈ лоши ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ са ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π² ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅. Но Ρ‚Π΅ стават лоши Π·Π°Ρ€Π°Π΄ΠΈ обстоятСлствата. НапримСр, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ проста транзакция, която оставя Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°: ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈ транзакция, Π΄Π° Π²Π·Π΅ΠΌΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, Π° послС някъдС Π² ΠΊΠΎΠ΄Π° тя Π΄Π° сС сринС, оставайки висяща транзакция. Π”Ρ€ΡƒΠ³ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ‰Π΅ Π΄ΠΎΠΉΠ΄Π΅, Ρ‰Π΅ поиска ΡΡŠΡ‰ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Ρ‚ΠΎΠΉ Ρ‰Π΅ сС сблъска с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ висящата транзакция Π²Π΅Ρ‡Π΅ Π·Π°Π΄ΡŠΡ€ΠΆΠ° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅. И Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° транзакция Ρ‰Π΅ виси Π² ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²Π°Ρ‚Π° транзакция Π½Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈ ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ѝ Π½Π΅ я Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Ρ‡Π°ΠΊΠ°Ρ‰ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚ ΠΈ Π΄Π° ΠΏΡ€Π΅Π²ΠΈΡˆΠ°Π²Π°Ρ‚ Π»ΠΈΠΌΠΈΡ‚Π° Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π»ΠΈΠΌΠΈΡ‚ΡŠΡ‚ бъдС ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅Π½, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π±Π°Π·Π°Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ Π°Π²Π°Ρ€ΠΈΠΉΠ½Π° ситуация Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС слСдят Π»ΠΎΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ Π΄Π° ΠΈΠΌ сС Ρ€Π΅Π°Π³ΠΈΡ€Π° своСврСмСнно.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. И Ρ‚ΡƒΠΊ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π΅Π½ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄. Има информация Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° ΠΎΡ‚Π³ΠΎΡ€Π΅. DB connection – 8 броя. И Ρ‚ΠΎΠ²Π° Π΅ всичко. НямамС информация Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ просто са Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΈ Π½ΠΈΡ‰ΠΎ Π½Π΅ правят. НямамС информация Π·Π° висящитС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ, Ρ‚.Π΅. Ρ‚ΠΎΠ²Π° Π΅ число, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° количСството ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ ΠΈ Π½ΠΈΡ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. А ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ ΠΎΡ‚Π³Π°Ρ‚Π²Π°ΠΉΡ‚Π΅ сами.
Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π°Π·ΠΈ информация Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, трябва Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към систСмната ΠΈΠ·Π³Π»Π΅Π΄ pg_stat_activity. Ако ΠΏΡ€Π΅ΠΊΠ°Ρ€Π²Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π² PostgreSQL, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ ΠΈΠ·Π³Π»Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° станС ваш приятСл, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° активност Π² PostgreSQL, Ρ‚.Π΅. ΠΊΠ°ΠΊΠ²ΠΎ сС случва Π² Π½Π΅Π³ΠΎ. Π—Π° всСки процСс ΠΈΠΌΠ° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° информация Π·Π° Ρ‚ΠΎΠ·ΠΈ процСс: ΠΎΡ‚ ΠΊΠΎΠΉ хост Π΅ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ, ΠΏΠΎΠ΄ ΠΊΠΎΠ΅ потрСбитСлско ΠΈΠΌΠ΅, ΠΏΠΎΠ΄ ΠΊΠΎΠ΅ ΠΈΠΌΠ΅, ΠΊΠΎΠ³Π° Π΅ стартирана транзакцията, ΠΊΠ°ΠΊΠ²Π° заявка Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС изпълнява, ΠΊΠ°ΠΊΠ²Π° заявка Π΅ Π±ΠΈΠ»Π° изпълнСна послСдно. И, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ ΠΏΠΎ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ stat. Условно ΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ ΠΏΠΎ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π΅Π·ΠΈ stats-ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° са Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ броя Π½Π° ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ с Ρ‚ΠΎΠ·ΠΈ stat Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Ρ†ΠΈΡ„Ρ€ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΠΌ Π² нашия ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π΄Π° нарисувамС ΠΏΠΎ тях Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.
Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° оцСнявамС ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° транзакцията. Аз Π²Π΅Ρ‡Π΅ ΠΊΠ°Π·Π°Ρ…, Ρ‡Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС оцСнява ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ‚Π΅, Π½ΠΎ ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ сС оцСняват ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½. Има ΠΏΠΎΠ»Π΅Ρ‚Π° xact_start ΠΈ query_start. Π’Π΅, условно ΠΊΠ°Π·Π°Π½ΠΎ, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° стартиранС Π½Π° транзакцията ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° стартиранС Π½Π° заявката. Π’Π·Π΅ΠΌΠ°ΠΌΠ΅ функцията now(), която ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π²Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΈ ΠΈΠ·Π²Π°ΠΆΠ΄Π°ΠΌΠ΅ timestamp Π½Π° транзакцията ΠΈ заявката. И ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° транзакцията, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° заявката.

Ако Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ дълги Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, трябва Π΄Π° Π³ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅. Π—Π° OLTP Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ са Π²Π΅Ρ‡Π΅ Π½Π°Π΄ 1-2-3 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ.. Π—Π° OLAP Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ са Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ, Π½ΠΎ Π°ΠΊΠΎ Ρ‚Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΄Π²Π° часа, Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Π΅ някъдС ΠΈΠΌΠ°ΠΌΠ΅ изкривяванС.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС ΡΠ²ΡŠΡ€ΠΆΠ°Ρ‚ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Ρ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° работят с Π½Π°ΡˆΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. Π’Π΅ сС ΠΎΠ±Ρ€ΡŠΡ‰Π°Ρ‚ към Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, Ρ‚Π΅ сС ΠΎΠ±Ρ€ΡŠΡ‰Π°Ρ‚ към индСкситС, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°. И Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° оцСнявамС ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ работят с Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ нашия Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€ ΠΈ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ прСдстава ΠΊΠΎΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ са Π½Π°ΠΉ-'Π³ΠΎΡ€Π΅Ρ‰ΠΈ'. НапримСр, Ρ‚ΠΎΠ²Π° Π΅ Π½ΡƒΠΆΠ½ΠΎ Π² ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искамС 'Π³ΠΎΡ€Π΅Ρ‰ΠΈΡ‚Π΅' Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π΄Π° поставим Π½Π° Π±ΡŠΡ€Π·ΠΎ SSD Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. НапримСр, някои Π°Ρ€Ρ…ΠΈΠ²Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ изнСсСни Π½Π° 'студСн' Π°Ρ€Ρ…ΠΈΠ², Π½Π° SATA дисковС, ΠΈ Ρ‚Π΅ Π΄Π° си ТивСят Ρ‚Π°ΠΌ, Π° Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ тях Π΄Π° става ΠΏΠΎ нСобходимост.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ слСд Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°Π½Π΅. Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΠ» Π½ΠΎΠ²Π° функция. НапримСр, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° функционалност Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°Ρ‚Π°. И Π°ΠΊΠΎ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, Π½Π° Ρ‚Π΅Π·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ лСсно Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈΡ‚Π΅. НапримСр, ΠΏΠΈΠΊ Π½Π° обновлСния ΠΈΠ»ΠΈ ΠΏΠΈΠΊ Π½Π° изтривания. Π’ΠΎΠ²Π° Ρ‰Π΅ сС Π²ΠΈΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π½Π° 'ΠΏΠΎΠΏΠ»ΡŠΠ·Π½Π°Π»Π°Ρ‚Π°' статистика. Какво ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Ρ‚ΠΎΠ²Π°? Π’ PostgreSQL ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡ‰Π΅Π½ ΠΈ Π΄ΠΎΠ±ΡŠΡ€ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ Π½Π° запитвания. И Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ отдСлят ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. Как Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΠΉ? Π—Π° Π΄Π° построи Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅, PostgreSQL Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ ΡΡŠΠ±ΠΈΡ€Π° статистика Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅. Π’ΠΎΠ²Π° са Π½Π°ΠΉ-чСститС стойности: Π±Ρ€ΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ стойности, информация Π·Π° NULL Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, ΠΌΠ½ΠΎΠ³ΠΎ информация.

На Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ статистика, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΡŠΡ‚ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° няколко запитвания, ΠΈΠ·Π±ΠΈΡ€Π° Π½Π°ΠΉ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠ»Π°Π½ Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅.

И понякога статистиката 'плъзга'. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎΡ‚ΠΎ ΠΈ количСството Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС промСнят Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Π½ΠΎ статистиката Π½Π΅ Π΅ Π±ΠΈΠ»Π° ΡΡŠΠ±Ρ€Π°Π½Π°. И ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ. И Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ спорСд ΡΡŠΠ±Ρ€Π°Π½ΠΈΡ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, спрямо Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π΅Π·ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. НапримСр, Π°ΠΊΠΎ качСствСно Π΄Π°Π½Π½ΠΈΡ‚Π΅ са сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈ Π²Π΅Ρ‡Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Π» Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° послСдоватСлСн ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Ρ‚.Π΅. Π°ΠΊΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ трябва Π΄Π° Π²ΡŠΡ€Π½Π΅ само 100 Ρ€Π΅Π΄Π° (с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ limit 100), Ρ‚ΠΎ Π·Π° Ρ‚ΠΎΠ²Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ пълСн ΠΎΠ±Ρ…ΠΎΠ΄. И Ρ‚ΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ влияС ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½Π° производитСлността.

И Π½ΠΈΠ΅ Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. И Π²Π΅Ρ‡Π΅ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ заявка, Π΄Π° изпълним explain Π·Π° нСя, Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ΠΌ статистика, Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ Π½ΠΎΠ² Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ индСкс. И Π²Π΅Ρ‡Π΅ Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π°ΠΌΠ΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Мисля, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ вас Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ популярСн. Кой Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ си. Prometheus? А ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ совмСстно с Prometheus? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² стандартном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ этого ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π΅ΡΡ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с PostgreSQL – postgres_exporter Prometheus. Но Ρ‚ΡƒΠΊ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ лош Π΄Π΅Ρ‚Π°ΠΉΠ».

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Има няколко Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. И ΠΊΠ°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° са посочСни Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, Ρ‚.Π΅. Ρ‚Π°ΠΌ са 5 Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’ΠΎΠ²Π° са Insert data, Update data, Delete data, Fetch data ΠΈ Return data. ΠšΠ°Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‚Π΅Π»Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° са посочСни Π±Π°ΠΉΡ‚ΠΎΠ²Π΅Ρ‚Π΅. Но Ρ„Π°ΠΊΡ‚ΡŠΡ‚ Π΅, Ρ‡Π΅ статистиката Π² PostgreSQL Π²Ρ€ΡŠΡ‰Π° Π΄Π°Π½Π½ΠΈ Π² tuple (Ρ€Π΅Π΄ΠΎΠ²Π΅). И, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Ρ‚Π΅Π·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ – Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡŠΡ€ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π·Π°Π½ΠΈΠΆΠΈΡ‚Π΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ си Π² няколко ΠΏΡŠΡ‚ΠΈ, Π΄ΠΎΡ€ΠΈ дСсСтки, Π·Π°Ρ‰ΠΎΡ‚ΠΎ tuple – Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π±Π°ΠΉΡ‚, tuple – Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π΅Π΄, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅ ΠΈ Ρ‚ΠΎΠΉ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ с ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° дълТина. Π’.Π΅. Π΄Π° изчислитС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π² Π±Π°ΠΉΡ‚ΠΎΠ²Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° tuples – Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ€Π΅Π°Π»Π½Π° Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ слоТна. Π—Π°Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ вградСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π²ΠΈ прСдоставя ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ†Π΅Π½Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Как Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ статистика ΠΏΠΎ Ρ‚Π΅Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ? Π—Π° Ρ‚ΠΎΠ²Π° Π² PostgreSQL ΠΈΠΌΠ° няколко Π²ΡŒΡŽΡ‚Π°. И основната Π²ΡŒΡŽΡ…Π° – Ρ‚ΠΎΠ²Π° Π΅ pg_stat_user_tables. User_tables ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ са създадСни ΠΎΡ‚ потрСбитСля. Π’ противовСс Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° систСмни Π²ΡŒΡŽΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ самия PostgreSQL. И ΠΈΠΌΠ° ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π°Ρ‰Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Alltables, която Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈ систСмни, ΠΈ потрСбитСлски. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС основаватС Π½Π° която ΠΈ Π΄Π° Π΅ ΠΎΡ‚ тях, която Π²ΠΈ харСсва Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° посочСнитС ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ броя insert, update ΠΈ delete. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΡŠΡ‚ с Ρ‚Π°Π±Π»ΠΎΡ‚ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…, Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π΅Π·ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° Π·Π° ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° характСристикитС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. Π—Π°Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΠΌ ΠΈ Π²ΡŠΡ€Ρ…Ρƒ тях. Но трябва Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° са tuples, Π° Π½Π΅ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ просто Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅ΠΌ Π² Π±Π°ΠΉΡ‚ΠΎΠ²Π΅.

На Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ TopN-Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. НапримСр, Top-5, Top-10. И ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° слСдим Π³ΠΎΡ€Π΅Ρ‰ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅. НапримСр, 5 β€žΠ³ΠΎΡ€Π΅Ρ‰ΠΈβ€œ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΏΠΎ вставка. И с Ρ‚Π΅Π·ΠΈ TopN-Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ оцСнявамС Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° оцСнявамС ΠΈΠ·Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ слСд Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΈ, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ дСплоя.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ понякога Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ пускат Π½ΠΎΠ²Π° функция ΠΈ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ Π΄Π° добавят Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° прСдвидят ΠΊΠ°ΠΊ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ сС ΠΎΡ‚Ρ€Π°Π·ΠΈ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Подобни случаи ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π½Π΅Π½Π°Π΄Π° Π·Π° нас.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

И сСга Π΅Π΄ΠΈΠ½ малък Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° вас. Какъв Π²ΡŠΠΏΡ€ΠΎΡ възниква, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ? Какъв Π΅ слСдващият Π²ΡŠΠΏΡ€ΠΎΡ, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ Ρ…Ρ€ΡƒΠΌΠ²Π°?

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Но Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅ слСдният. Какви заявки ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ? Π’.Π΅. Π½Π΅ Π΅ интСрСсно Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ процСситС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Ясно Π΅, Ρ‡Π΅ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ хост с Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Ρ‚ΠΎ Ρ‚Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ само Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Ρ‰Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Ако ΠΎΡ‚Π²ΠΎΡ€ΠΈΠΌ Top, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ списък с процСси Π² PostgreSQL, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π½Π΅Ρ‰ΠΎ. ΠžΡ‚ Top Π½Π΅ Π΅ ясно ΠΊΠ°ΠΊΠ²ΠΎ правят.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌ Ρ‚Π΅Π·ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π½Π°ΠΉ-голямо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ настроСнСто Π½Π° заявки ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ носи ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΠ»Π·Π°, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ настройванСто Π½Π° конфигурацията Π½Π° PostgreSQL ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°. По моя ΠΏΡ€Π΅Ρ†Π΅Π½ΠΊΠ° – Ρ‚ΠΎΠ²Π° Π΅ ΠΎΠΊΠΎΠ»ΠΎ 80-85-90%. И Ρ‚ΠΎΠ²Π° става Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. По-лСсно Π΅ Π΄Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ заявка, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ конфигурацията, Π΄Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ рСстарт, особСно Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° рСстартиратС Π±Π°Π·Π°Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. По-просто Π΅ Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ заявка ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ индСкс, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ заявка.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ заявкитС ΠΈ тяхната адСкватност. Π”Π° Π²Π·Π΅ΠΌΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. И Ρ‚ΡƒΠΊ ΡΡŠΡ‰ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π΅ прСкрасСн. Има информация Π·Π° рСпликацията, ΠΈΠΌΠ° информация Π·Π° пропускната способност, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΡ‚Π΅, утилизацията Π½Π° рСсурситС. Всичко Π΅ прСкрасно, Π½ΠΎ няма информация Π·Π° заявкитС. НС Π΅ ясно ΠΊΠ°ΠΊΠ²ΠΈ заявки сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‚, ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ заявки. Π’ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ информация Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

И Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ информация ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π° pg_stat_statements. На Π½Π΅Π³ΠΎΠ²Π° основа ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС изградят Π½Π°ΠΉ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ информация Π·Π° Π½Π°ΠΉ-чСститС заявки, Ρ‚.Π΅. Π·Π° ΠΎΠ½Π΅Π·ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π°ΠΉ-чСсто. Π”Π°, слСд Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅ ΡΡŠΡ‰ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° някакъв скок Π² заявкитС.

МоТСм Π΄Π° наблюдавамС Π½Π°ΠΉ-Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ заявки, Ρ‚.Π΅. ΠΎΠ½Π΅Π·ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π°ΠΉ-дълго. Π’Π΅ работят Π½Π° процСсора, потрСбяват Π²Ρ…ΠΎΠ΄-ΠΈΠ·Ρ…ΠΎΠ΄. МоТСм Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎ ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° total_time, mean_time, blk_write_time ΠΈ blk_read_time.

МоТСм Π΄Π° оцСнявамС ΠΈ наблюдавамС Π½Π°ΠΉ-Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‰ΠΈΡ‚Π΅ заявки Ρ‰ΠΎ сС отнася Π΄ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСсурси, Ρ‚.Π΅. Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‡Π΅Ρ‚Π°Ρ‚ ΠΎΡ‚ диска, работят с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈΠ»ΠΈ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ някакво записващо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.

МоТСм Π΄Π° оцСнявамС ΠΈ Π½Π°ΠΉ-Ρ‰Π΅Π΄Ρ€ΠΈΡ‚Π΅ заявки. Π’ΠΎΠ²Π° са ΠΎΠ½Π΅Π·ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π°Ρ‚ голямо количСство Ρ€Π΅Π΄ΠΎΠ²Π΅. НапримСр, Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС заявка, Π² която Π΅ Π·Π°Π±Ρ€Π°Π²Π΅Π½ΠΎ Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ Π»ΠΈΠΌΠΈΡ‚. И тя просто Π²Ρ€ΡŠΡ‰Π° всичкото ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΈΠ»ΠΈ заявката Π·Π° исканитС Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.

И ΠΌΠΎΠΆΠ΅ΠΌ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° наблюдавамС заявкитС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски
И остават Ρ„ΠΎΠ½ΠΎΠ²Π° процСси. Π€ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси – Ρ‚ΠΎΠ²Π° Π½Π° ΠΏΡŠΡ€Π²ΠΎ място са Ρ‡Π΅ΠΊΠΏΠΎΠΉΠ½Ρ‚ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‰Π΅ Π³ΠΈ Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, autovacuum ΠΈ рСпликация.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠžΡ‚Π»ΡΠ²ΠΎ Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡŠΡ‚ Maintenance, ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΠΈ сС надявамС Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Но Ρ‚ΡƒΠΊ Π΅ само Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠ° ΠΈ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° статистика, Π½ΠΈΡ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ оскъдна информация, Π·Π°Ρ‚ΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ информация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ работят Ρ„ΠΎΠ½ΠΎΠ²Π° процСси Π² Π½Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΡ‚ тяхната Ρ€Π°Π±ΠΎΡ‚Π°.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, трябва Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΡΡ‚ β€žΠΌΡ€ΡŠΡΠ½ΠΈΡ‚Π΅β€œ страници ΠΎΡ‚ областта Π½Π° ΡˆΠ°Ρ€Π΄ΠΈΡ€Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° диска, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ°. И Ρ‚Π°Π·ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π° Ρ‚ΠΎΡ‡ΠΊΠ° слСд Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ някакво място ΠΏΡ€ΠΈ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, Π°ΠΊΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° PostgreSQL Π΅ Π±ΠΈΠ» ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ.

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Π·Π° Π΄Π° сС освободят всички "Π·Π°ΠΌΡŠΡ€ΡΠ΅Π½ΠΈ" страници Π½Π° диска, трябва Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ количСство запис. И, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, Π½Π° систСми с голям ΠΎΠ±Π΅ΠΌ ΠΏΠ°ΠΌΠ΅Ρ‚ – Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ. И Π°ΠΊΠΎ checkpoint-ΠΈΡ‚Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ чСсто Π·Π° ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», дисковата производитСлност Ρ‰Π΅ страда Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΡ‚Π΅ заявки Ρ‰Π΅ страдат ΠΎΡ‚ нСдостиг Π½Π° рСсурси. Π’Π΅ Ρ‰Π΅ сС борят Π·Π° рСсурси ΠΈ Ρ‰Π΅ ΠΈΠΌ липсва производитСлност.

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Ρ‡Ρ€Π΅Π· pg_stat_bgwriter ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° наблюдавамС броя Π½Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‰ΠΈΡ‚Π΅ checkpoint-ΠΈ. И Π°ΠΊΠΎ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 10-15-20 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ час) ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ checkpoint-ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 3-4-5, Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. И трябва Π΄Π° сС ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ конфигурацията, ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° Ρ‚Π°ΠΊΠΎΠ²Π° ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΠΎΡ‚ checkpoint-ΠΈ. МоТС Π±ΠΈ ΠΈΠΌΠ° някакъв голям запис. По Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ. МоТСм Π΄Π° настройвамС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Ρ‚Π΅ Π΄Π° Π½Π΅ влияят силно Π½Π° производитСлността Π½Π° заявкитС.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

ΠžΡ‚Π½ΠΎΠ²ΠΎ сС Π²Ρ€ΡŠΡ‰Π°ΠΌ към autovacuum, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅Ρ‰ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ ΠΊΠ°Π·Π°Ρ…, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° повлияС Π½Π° производитСлността ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° дисковСтС, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° заявкитС, Π·Π°Ρ‚ΠΎΠ²Π° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° оцСнявамС количСството Π½Π° autovacuum.

Броят Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ autovacuum Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚Π΅ са Ρ‚Ρ€ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π°ΠΊΠΎ постоянно работят Ρ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° Π² Π±Π°Π·Π°Ρ‚Π°, Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ autovacuum Π½Π΅ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, трябва Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Ρ‚ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ‚Π΅, Π΄Π° сС ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ‚ настройкитС Π½Π° autovacuum ΠΈ Π΄Π° сС ΠΏΡ€Π΅Ρ€Π°Π·Π³Π»Π΅Π΄Π° конфигурацията.
Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° оцСнявамС ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠ° работят. Или Π΅ стартиран ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», DBA Π΅ дошъл ΠΈ Π΅ стартирал Ρ€ΡŠΡ‡Π½ΠΎ някакъв Π²Π°ΠΊΡƒΡƒΠΌ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ създало Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. ИмамС някакъв ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Или Π΅ количСството Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ намаляват броя Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅. Π—Π° някои вСрсии Π½Π° PostgreSQL – Ρ‚ΠΎΠ²Π° са ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΆΠΊΠΈ Π²Π°ΠΊΡƒΡƒΠΌΠΈ. И Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ сСриозно Π΄Π° повлияят Π½Π° производитСлността, Π·Π°Ρ‰ΠΎΡ‚ΠΎ сканират цялата Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ всички Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°.

И, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ‚Π΅. Ако ΠΈΠΌΠ°ΠΌΠ΅ дълги Π²Π°ΠΊΡƒΡƒΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ дълго Π²Ρ€Π΅ΠΌΠ΅, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ трябва Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° конфигурацията Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠ° ΠΈ възмоТно Π΄Π° ΠΏΡ€Π΅Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ настройки. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС появи ситуация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°Π΄ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° дълго Π²Ρ€Π΅ΠΌΠ΅ (3-4 часа), Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π²Π°ΠΊΡƒΡƒΠΌΠ° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ са сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»ΠΈ голямо количСство ΠΌΡŠΡ€Ρ‚Π²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅. И Π²Π΅Π΄Π½Π°Π³Π° Ρ‰ΠΎΠΌ Π²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π·Π°Π²ΡŠΡ€ΡˆΠΈ, ΠΎΡ‚Π½ΠΎΠ²ΠΎ трябва Π΄Π° Π²Π°ΠΊΡƒΡƒΠΌΠΈΡ€Π° Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°. И стигамС Π΄ΠΎ ситуация Π½Π° Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ Π²Π°ΠΊΡƒΡƒΠΌ. Π’ Ρ‚Π°ΠΊΡŠΠ² случай Π²Π°ΠΊΡƒΡƒΠΌΡŠΡ‚ Π½Π΅ изпълнява своята Ρ€Π°Π±ΠΎΡ‚Π°, Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ постСпСнно Π΄Π° нарастват ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΎΠ±Π΅ΠΌΡŠΡ‚ Π½Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² тях остава ΡΡŠΡ‰ΠΈΡΡ‚. Π—Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈ Π΄ΡŠΠ»Π³ΠΈΡ‚Π΅ Π²Π°ΠΊΡƒΡƒΠΌΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ конфигурацията ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° я ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅, Π½ΠΎ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ Π΄Π° Π½Π΅ страда производитСлността Π½Π° клиСнтскитС запитвания.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Π‘Π΅Π³Π° практичСски няма инсталация Π½Π° 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. ВоСст, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС слСдят Ρ‚Π΅Π·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. Ако Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ закъснСниС Π² рСпликацията, трябва Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡ΠΈΠΌ Π·Π°Ρ‰ΠΎ сС Π΅ появило, ΠΎΡ‚ΠΊΡŠΠ΄Π΅ ΠΈΠ΄Π²Π° ΠΈ Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

БистСмнитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ са практичСски Π² Ρ€Π΅Π΄. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС създава ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Ρ‚ΠΎΠΉ Π·Π°ΠΏΠΎΡ‡Π²Π° със систСмни ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Π’ΠΎΠ²Π° Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° процСсори, ΠΏΠ°ΠΌΠ΅Ρ‚, swap, ΠΌΡ€Π΅ΠΆΠ° ΠΈ диск. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΎΡ‚ΡΡŠΡΡ‚Π²Π°Ρ‚ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.

Ако всичко Π΅ Π½Π°Ρ€Π΅Π΄ с ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° процСсора, Ρ‚ΠΎ с ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° диска ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ОбикновСно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ добавят информация Π·Π° пропускната способност. Вя ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π² IOPS ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅. Но Ρ‚Π΅ забравят Π·Π° латСнтността ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° дисковитС устройства. Π’ΠΎΠ²Π° са ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈ са дисковСтС ΠΈ ΠΊΠΎΠ»ΠΊΠΎ забавят. Ако ΠΈΠΌΠ°ΠΌΠ΅ висока латСнтност, Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с дисковСтС. Ако ΠΈΠΌΠ°ΠΌΠ΅ висока ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ дисковСтС Π½Π΅ сС справят. Π’ΠΎΠ²Π° са ΠΏΠΎ-качСствСни характСристики ΠΎΡ‚ пропускната способност.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‚Π°Π·ΠΈ статистика ΠΌΠΎΠΆΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма /proc, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΏΡ€Π°Π²ΠΈ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° процСсоритС. Π—Π°Ρ‰ΠΎ Ρ‚Π°Π·ΠΈ информация Π½Π΅ сС добавя Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈΡ‚Π΅, Π½Π΅ Π·Π½Π°ΠΌ. Но Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° я ΠΈΠΌΠ°Ρ‚Π΅ Π² своя ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.

Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ интСрфСйси. Има информация Π·Π° пропускната способност Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π² Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, Π½ΠΎ всС ΠΏΠ°ΠΊ няма информация Π·Π° латСнтността ΠΈ няма информация Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π°, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‚ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° информация.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Всички ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ ΠΈΠΌΠ°Ρ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ. И ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅, Π²ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ бъдС Π½Π΅ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΎ Π½Π° някакви ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ. Но всС ΠΏΠ°ΠΊ Ρ‚Π΅ сС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚, добавят сС Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎΠ²ΠΈ Π½Π΅Ρ‰Π°, Π·Π°Ρ‚ΠΎΠ²Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΈ Π΄ΠΎΡ€Π°Π·Π²ΠΈΠΉΡ‚Π΅.

И Π·Π° Π΄Π° Π΄ΠΎΡ€Π°Π·Π²ΠΈΠ²Π°Ρ‚Π΅, трябва Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ прСдстава ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° прСдоставСната статистика ΠΈ ΠΊΠ°ΠΊ с Π½Π΅ΠΉΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

И няколко ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°:

  • Π’ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° слСдитС Π·Π° наличността, Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π±Π»Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅, Ρ‡Π΅ с Π±Π°Π·Π°Ρ‚Π° всичко Π΅ Π½Π°Ρ€Π΅Π΄.
  • Π’ΠΈΠ½Π°Π³ΠΈ трябва Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ прСдстава Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ работят с Π²Π°ΡˆΠ°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° отсССтС Π»ΠΎΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅.
  • Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° оцСняватС ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ работят с Π΄Π°Π½Π½ΠΈΡ‚Π΅. НуТно Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ прСдстава Π·Π° вашия Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€.
  • Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° оцСняватС ΠΊΠ°ΠΊ сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€, с ΠΊΠ°ΠΊΠ²ΠΈ заявки. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° оцСняватС заявкитС, Π΄Π° Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅, Π΄Π° Π³ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ€Π°Ρ‚Π΅, Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚Π΅ индСкси Π·Π° тях. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ.
  • Π€ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° влияят Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½Π° клиСнтскитС заявки, Π·Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° слСдитС, Π·Π° Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ рСсурси.
  • БистСмнитС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π²ΠΈ позволяват Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, Π·Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚Π° Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΡŠΡ‰ΠΎ Π΄Π° Π³ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ ΠΈ оцСняватС.

Основи Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° PostgreSQL. АлСксСй ЛСсовски

Ако Π²ΠΈ интСрСсува Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅.
http://bit.do/stats_collector β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° докумСнтация с ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° статистиката. Π’Π°ΠΌ ΠΈΠΌΠ° описаниС Π½Π° всички статистичСски ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈ описаниС Π½Π° всички ΠΏΠΎΠ»Π΅Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅, Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅. И Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° тях Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ своитС Π³Ρ€Π°Ρ„ΠΈΡ†ΠΈ, Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π² своитС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° заявки:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Π’ΠΎΠ²Π° Π΅ корпоративният Π½ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ моят собствСн. Π’ тях ΠΈΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° заявки. Няма заявки ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° select* from Π½Π΅Ρ‰ΠΎ. Има Π³ΠΎΡ‚ΠΎΠ²ΠΈ заявки с join-ΠΎΠ²Π΅, с интСрСсни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π΄Π° сС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ суровитС числа Π² Ρ‡Π΅Ρ‚ΠΈΠΌΠΈ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΈ стойности, Ρ‚.Π΅. Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, Π²Ρ€Π΅ΠΌΠ΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Ρ‚Π΅, Π΄Π° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅, Π΄Π° Π³ΠΈ добавятС Π² своитС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ, Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚Π΅ свои Π½Π° Π±Π°Π·Π° тях.

Π’ΡŠΠΏΡ€ΠΎΡΠΈ

Π’ΡŠΠΏΡ€ΠΎΡ: ΠšΠ°Π·Π°Ρ…Ρ‚Π΅, Ρ‡Π΅ няма Π΄Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ°Ρ€ΠΊΠΈ, Π½ΠΎ всС ΠΏΠ°ΠΊ ΠΌΠΈ Π΅ интСрСсно – ΠΊΠ°ΠΊΠ²ΠΈ Ρ‚Π°Π±Π»Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ си?
ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€: Π Π°Π·Π»ΠΈΡ‡Π½ΠΎ. Понякога ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Ρ‚ΠΎΠΉ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° свой ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠšΠΎΠ½ΡΡƒΠ»Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° си. Най-лошо Π΅ с ZabbiΡ…. Π—Π°Ρ‰ΠΎΡ‚ΠΎ няма Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° TopN-Π³Ρ€Π°Ρ„ΠΈΡ†ΠΈ. НиС сами ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Okmeter, Π·Π°Ρ‰ΠΎΡ‚ΠΎ консултирахмС Ρ‚Π΅Π·ΠΈ ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π° ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π’Π΅ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π·Π° PostgreSQL Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π’Π—. Пиша своя pet-project, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· Prometheus ΠΈ Π³ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Π² Grafana. Имам Π·Π°Π΄Π°Ρ‡Π° Π΄Π° направя свой СкспортСр Π² Prometheus ΠΈ послС Ρ‚ΠΎΠ²Π° Π΄Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ всичко Π² Grafana.

Π’ΡŠΠΏΡ€ΠΎΡ: Има Π»ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π½Π° AWR ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ... агрСгацията? Π—Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π°?
ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€: Π”Π°, Π·Π½Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ AWR, Ρ‚ΠΎΠ²Π° Π΅ страхотСн инструмСнт. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ° Π½Π°ΠΉ-Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΌΠΎΠ΄Π΅Π». На ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ сС записват ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ baseline Π΄Π°Π½Π½ΠΈ Π² ΡΡŠΡ‰ΠΈΡ PostgreSQL ΠΈΠ»ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‚Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚. Π•Π΄ΠΈΠ½ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ° sql.ru Π² Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° PostgreSQL. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΌ. Π”Π°, Ρ‚Π°ΠΊΠΈΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈ Π² моя pgCenter Π°Π· ΡΡŠΡ‰ΠΎ пиша Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ ΡΡŠΡ‰ΠΎΡ‚ΠΎ.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster