Data Egret âPostgreSQL á á±á¬áá·áºááŒáá·áºáá±ážá¡ááŒá±áá¶áá»á¬ážâ á០Alexey Lesovsky á á¡á á®áááºáá¶á á¬ááᯠáááºááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
á€á¡á á®áááºáá¶á á¬ááœááºá Alexey Lesovsky ááẠpost-gress ááááºážááááºážáá»á¬ážá á¡áááá¡áá»ááºáá»á¬ážá áááºážááá¯á·ááẠá¡áááºá¡áá¬ááá¯ááá¯ááá¯ááááºážá á¡áááºááŒá±á¬áá·áº áááºážááá¯á·ááẠá á±á¬áá·áºááŒáá·áºáá±á·áá¬ááŒááºážááœáẠááŸááá±ááá·áºáááºááᯠááœá±ážááœá±ážáááºááŒá áºáááºá á á±á¬áá·áºááŒáá·áºáá±ážááœáẠáááºááá·áºááááºáá»á¬áž ááŸáááá·áºáááºá áááºážááá¯á·ááᯠááá·áºááœááºážáááºážááŸáá·áº áááºážááá¯á·ááᯠá¡áááá¹áá¬ááºááœáá·áºááá¯áá¯á¶á¡ááŒá±á¬ááºážá á¡á á®áááºáá¶á á¬ááẠáá±áá¬áá±á·á áºá á®áá¶ááá·áºááœá²áá°áá»á¬ážá á áá áºá á®áá¶ááá·áºááœá²áá°áá»á¬ážááŸáá·áº Postgres ááŒá¿áá¬ááŒá±ááŸááºážááŒááºážá¡á¬áž á áááºáááºá á¬ážáá±á¬ developer áá»á¬ážá¡ááœáẠá¡áá¯á¶ážáááºáááºááŒá áºáááºá
áá»áœááºáá±á¬á·áºáá¬áááºá Alexey Lesovsky ááŒá áºááŒá®áž Data Egret áá¯áá¹ááá®ááᯠááá¯ááºá á¬ážááŒá¯áá«áááºá
ááá¯ááºáá²á·áááºáááºáá²á· á áá¬ážááá»áá¯á·á áá»áœááºáá±á¬áºáᬠSystem Administrator á¡ááŒá áºáá²á· á áááºáá²á·áᬠááŒá¬áá«ááŒá®á
áá»áœááºá¯ááºááẠááá°áá®áá±á¬ Linux á áá áºá¡áá»áá¯ážáá»áá¯ážááᯠá á®áá¶á¡á¯ááºáá»á¯ááºáá²á·ááŒá®áž Linux ááŸáá·áº áááºáááºááá·áº á¡áá¬á¡áá»áá¯ážáá»áá¯ážááœáẠáá¯ááºáá±á¬ááºáá²á·áááºá ááá¯ááá¯áááºááŸá¬ virtualizationá á á±á¬áá·áºááŒáá·áºááŒááºážá proxies ááŸáá·áº áá¯ááºáá±á¬ááºáá²á·áááºá á áááºááá¯á·ááᯠáá¯ááºáá±á¬ááºáá²á·áááºá ááá¯á·áá±á¬áº áá áºáá»áááºáá»áááºá áá±áá¬áá±á·á áºáá»á¬ážá PostgreSQL ááŸáá·áº ááá¯ááá¯áá¯ááºáá±á¬ááºáá¬áá²á·áááºá áá»áœááºáá±á¬áº áá°á·ááᯠá¡áááºážááŒáá¯ááºáááºá áá áºáá»áááºáá»áááºá áá»áœááºá¯ááºááẠáá»áœááºá¯ááºáá¡áá¯ááºáá»áááºá¡áá»á¬ážá á¯ááᯠPostgreSQL ááœáẠá áááºáá¯ááºáá±á¬ááºáá²á·áááºá áá«ááŒá±á¬áá·áº áááŒááºážááŒááºážáá²á· áá»áœááºáá±á¬áº PostgreSQL DBA ááŒá áºáá¬áááºá
ááŒá®ážáá±á¬á· áá»áœááºáá±á¬á·áºáá²á·á¡áááºááœá±ážáááºážááŒá±á¬ááºážáá
áºáá»áŸá±á¬ááºáá¯á¶ážááŸá¬ á
á¬áááºážááá¬ážááœá±á á
á±á¬áá·áºááŒáá·áºáá±á·áá¬áá±ážáá²á· áááºáá®áá®áá¬ááá¯ááºáᬠá¡ááŒá±á¬ááºážá¡áá¬ááœá±ááᯠá¡ááŒá²á
áááºáááºá
á¬ážáá²á·áá«áááºá áá«á
áá
áºá
á®áá¶ááá·áºááœá²áá°ááŒá
áºáá±á¬á¡áá« Zabbix ááŸáá·áºá¡ááœááºáá®ážáááºá
áœá¬á¡áá¯ááºáá¯ááºáá²á·áááºá ááŒá®ážáá±á¬á· áá¬ááºááœáŸááºážáá±ážááœá± áá±ážáááºá
á¡áᯠáá»áœááºáá±á¬áº PostgreSQL ááŸá¬ á¡áá¯ááºáá¯ááºáá±áá«áááºá PostgreSQL ááááºážááááºážá¡áá»ááºá¡áááºááœá±áá²á· á¡áá¯ááºáá¯ááºááá¯ááºá
á±ááá·áº áá±á¬ááºáááºá¡áá¬áá
áºáá¯ááᯠáá»áœááºáá±á¬áºáá±ážáá¬ážááŒá®ážáá¬ážáá«á á¡á²á·áá«ááá¯áá±á«áºáááº
áááá«ááºážáá±ážáá áºáá¯á áá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºáá»á¬ážá áá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºáá»á¬ážááẠá¡áááºá¡ááŒá±á¡áá±áá»áá¯ážááŸáááááºážá áá±áá¬áá±á·á áºááŸáá·áº áááºáááºáá±á¬ ááá±á¬áºááááŸá¯áá»áá¯áž ááŸááááºá áá±áá¬áá±á·á áºááᯠááŒááºáááºááá°ááŒá®ážáá±á¬á¡áá« áá¬áá¡ááŒá®ážá¡áá² ááá¯á·ááá¯áẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáá¬áá¡ááŒá®ážá¡áá²á âááááºááœá±ááá¯á·á áá±áá¬áá±á·á áºááᯠá á±á¬áá·áºááŒáá·áºááá¯á· ááá¯áá«áááºá áá¬ááŒá áºááá¯á·áá²ááá¯áá±á¬á· ááá¯ážááœá¬ážáá²á· áá áºáá¯áá¯ááŒá áºáá²á·ááá¯á· á¡áá¬áááºááŸá¬ áá®ááá¯áááŒá áºá¡á±á¬áẠáá¬ážáá®ážááá¯á·ááá¯áááºáâ ááŒá®ážáá±á¬á· ááá·áºáá±áá¬áá±á·á Ạ- PostgreSQLá MySQL ááá¯á·ááá¯áẠá¡ááŒá¬ážá¡áá»áá¯á·áá±á¬ á¡ááŒá¬ážá¡áá¬áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááá¯ááºá á±áááºá¡ááœáẠá á±á¬áá·áºááŒáá·áºáá±ážá áá áºáá áºáá¯ááᯠááœá±ážáá»ááºááŒááºáž ááá¯á·ááá¯áẠáááºááŸáá á±á¬áá·áºááŒáá·áºáá±ážá áá áºááᯠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºááŒááºážá á áááºáááºá á¬ážááœááºáá¯ááºáááºážá ááºááᯠá€áá±áá¬ááœáẠá áááºáá«áááºá ááŒá®ážáá±á¬á· áá¯ááºáá±á¬áºááá¯ááºáááºááœá±á âáá®ááá¯áá»áá¯áž áá±áá¬áá±á·á áºáá áºáá¯ááŸááááºááá¯áᬠáá«ááŒá¬ážáááºá áá¯á¶ážááŒáá·áºáá¡á±á¬ááºá" áá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬áž á¡áá»ááºážáá»ááºáž ááŒááºážáá¯á¶ááŸá¯áá»á¬áž á áááºáá¬áááºá á¡áá¯á¶ážááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá±á·á áºáá áºáá»áá¯ážáá»áá¯ážááᯠááœá±ážáá»ááºáá¬ážááŒá±á¬ááºáž áá±á«áºááœááºáá¬áá±á¬áºáááºáž PostgreSQL á á±á¬áá·áºááŒáá·áºá á áºáá±ážááŒááºážááᯠáááºážááœáẠáá¶á·áá»ááºážá áœá¬áááºááŒáá¬ážááŒá®áž áá áºáá¯áá¯ááᯠá¡ááŒá²ááá·áºááááºááŒá áºáááºá GitHub á០á¡áá»áá¯á·áá±á¬ repositories ááá¯áá°áá«á áááºážááá¯á·ááᯠáá¯á¶áá°áá°ážáááºá scripts áá»á¬ážááᯠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬ááºá áá áºáááºážáááºážááŒáá·áº á áááºááŒáá¯ááºááŒááºáááºáá«á áá±á¬ááºáá¯á¶ážááœáẠáááºážááẠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááŸá¯ áá áºáá»áá¯ážáá»áá¯ážááŒáá·áº á¡áá¯á¶ážáááºáááºá
ááá¯á·ááŒá±á¬áá·áºá á€áá±á¬ááŒá±á¬áá»ááºááœáẠPostgreSQL á¡ááœááºáá¬áá áá±áá¬áá±á·á áºá¡ááœáẠá á±á¬áá·áºááŒáá·áºá á áºáá±ážáááºážááᯠáááºááá¯á·ááœá±ážáá»ááºááááºááᯠááá¯áá¯áá¡áá»áá¯á· áá±ážáá«áááºá ááá¯á·á¡ááŒáẠááá·áºá¡á¬áž á á±á¬áá·áºááŒáá·áºáá±á·áá¬ááŒááºážá០á¡áá»áá¯ážáá»á±ážáá°ážá¡áá»áá¯á·áááŸáá á±áááºá¡ááœáẠáááºááá±áá¬áá±á·á áºááᯠá¡áá»áá¯ážááŸáááŸá á á±á¬áá·áºááŒáá·áºááá¯ááºá á±áááºá ááŒá áºáá±á«áºáá¬ááá¯ááºááá·áº á¡áá±ážáá±á«áºá¡ááŒá±á¡áá±áá»á¬ážááᯠáá±á¬áá»ááºá áœá¬ áá¬ážáá®ážááá¯ááºááẠááá·áºá¡á¬áž á¡ááááá¬áá±ážááá¯ááºáá«á
ááŒá®ážáá±á¬á· áá®á¡á á®áááºáá¶á á¬ááŸá¬áá«áá²á· á¡áá°á¡áááœá±ááᯠDBMS áá«ááŸááá¯áẠnoSQL áá²ááŒá áºááŒá Ạáááºáá±áá¬áá±á·á áºáá²á·áááᯠááá¯ááºááá¯áẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±ááá¯ááºáá«áááºá ááá¯á·ááŒá±á¬áá·áºá PostgreSQL áá áºáá¯áááºážáá¬áá PostgreSQL ááœáẠáááºážááá¯ááŒá¯áá¯ááºáááºáž áá»ááºááŒá¯ááºáááºážáá»á¬ážá áœá¬ ááŸááááá·áºáááºá á á¯á¶á ááºážááŸá¯áá»á¬ážáááá°áá¬áá»á¬ážá PostgreSQL ááᯠá á±á¬áá·áºááŒáá·áºáááºá¡ááœáẠáá«áááºáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬áá»á¬áž á¥ááá¬áá»á¬áž ááŸááá«áááºá áááºá DBMS ááœáẠáááºážááá¯á·á¡á¬áž á á±á¬áá·áºááŒáá·áºáá±á·áá¬ááẠááœáá·áºááŒá¯ááá·áº áá°áá®áá±á¬á¡áá¬áá»á¬áž ááŸááá«áá áááºážááá¯á·ááᯠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬ááºá áááºážááá¯á·ááᯠáá±á«ááºážááá·áºááá¯ááºáááºá áááºážááẠáá±á¬ááºážááœááºáááºááŒá áºáááºá
áá« á¡á
á®áááºáá¶á
á¬áá²ááŸá¬ áá«ááŸá¬ááá¯ááºáá°ážá
áááºááá
áºáá»á¬áž áá±ážááá¯á·ááŒááºážááŸáá·áº ááááºážáááºážáááºážá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážáá«á áá±áá¬ááᯠáá¯ááºáá±á¬ááºááŒá®ážáá±á¬áẠá¡áá¯á¶ážááŒá¯áá°áᶠáááºááŒááŒááºážááŸáá·áºáááºáááºá áá»áœááºá¯ááºáá¬áá»áŸ áááŒá±á¬áá«á ááŒá®ážáá±á¬á·ááááá±ážáá»ááºáá²á· áááºáááºááŒá®áž áá¬á០áááŒá±á¬áá«áá°ážá
áá«áá±ááá·áº áá¬ááºáááºáž ááá¯ážáááºáá¬áá¬áá²á·á¡áá»áŸá ááŸááááºážá
áœá² á
á±á¬áá·áºááŒáá·áºááŒááºážáá²á· ááá°áá®áá²á· á
ááááºáá¯á¶ááœá±ááᯠááŒáááŒá®áž áá°ááá¯á·ááᯠááááºážáááºážáá²á· áá±áááºáááºá ááá¯á·áá±á¬áºáááºáž á€áá¯ááºáá¯ááºáá»á¬ážá¡ááœáẠááŒá±á¬áºááŒá¬áááºáá®ážááŒááºáž ááá¯á·ááá¯áẠááá·áºáá»ááºááŒá±á¬áºááŒá¬ááŒááºážáááŒá¯áá¯ááºááá
á±ááẠá¡ááŸááºáá¶ááááºáá»á¬ážááᯠáá¬áááºááá±á¬áºááẠááŒáá¯ážá
á¬ážáá«áááºá ááá¯á·ááŒá±á¬áá·áºá ááá¯ááºááá¯ááºááŸá¯á¡á¬ážáá¯á¶ážááẠáá»áááºážááŒá
áºááŒá®áž ááá·áºá
áááºáá°ážáá²ááœáẠáá»ááºáá¬ážáá²á·áááºá
ááááŠážá
áœá¬ á
á±á¬áá·áºááŒáá·áºááŒááºážááá¯áááºááŸá¬ á¡áááºáááºážá á
á±á¬áá·áºááŒáá·áºááŸá¯ááá¯áᬠááŸáááá¯á· á¡áááºážá¡áá±ážááŒá®ážáááºá áá«ááᯠáá°ááá¯ááºážáá¬ážáááºáá«áááºá ááá¯á·áá±á¬áºáá
áºáá»áááºáááºážááŸá¬áááºá á
á±á¬áá·áºááŒáá·áºááŒááºážááẠáá¯ááºáááºážáá¯ááºáá¯ááºáá
áºáá¯ááŸáá·áº áááºááá¯ááºááŒááºážáááŸáááá·áºá¡ááŒáẠáá¯áá¹ááá®áá¡ááŒááºá¡á
áœááºážááᯠááá¯ááºááá¯ááºáááááá¯ááºá
á±áá±á¬ááŒá±á¬áá·áº áá»ááºááŸááá±á¬á¡ááŒá±áá¶ááŒáá·áº á
á±á¬áá·áºááŒáá·áºááẠá¡áá»áááºááᯠá¡ááŒá²ááœá²áá±áá±ážáá«áááºá áá«ááá¯á·ááŸá¬ á¡áá»áááºááŸáááẠá
á±á¬áá·áºááŒáá·áºáááºá áá«ááá¯á·ááŸá¬ á¡áá»áááºáááŸááá°ážááá¯ááẠá¡áá¯áá±á áá«ááá¯á·á á¡á²áá«ááᯠbacklog áá²ááŸá¬ ááá·áºáá¬ážááŒá®áž áá
áºáá±á·áá»ááẠáá®á¡áá¯ááºááœá±ááᯠááŒááºááááá·áºáááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·áá¡áá±á·á¡áá»áá·áºááŸá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáááºáá»á¬ážáá¶áá¬áá±á¬ááºáá±á¬á¡áá«ááœáẠá á±á¬áá·áºááŒáá·áºá á áºáá±ážááŒááºážááẠáááŒá¬áááááŒáá·áºá á¯á¶áá² áá±áá¬áá±á·á áºááŸáá·áº ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬á¡áá¯ááºáá áºáá¯ááŒá¯áá¯ááºááá¯ááºá á±ááá·áº áááºááá·áºá áááºáááºá á¬ážááœááºá¡áá¬á០áááŸááá«á ááá¯á·ááŒá±á¬áá·áº á á±á¬áá·áºááŒáá·áºááŸá¯ á¡ááŒá²áááºáž ááŒá®ážááŒá±á¬ááºááẠááá¯á¡ááºáá«áááºá
áá±áá¬áá±á·á áºáá»á¬ážááẠááŸá¯ááºááœá±ážááá·áºá¡áá¬áá»á¬ážááŒá áºááŒá®áž áá±áá¬áá±á·á áºáá»á¬ážááẠá¡áá»ááºá¡áááºáá»á¬ážááá¯ááŸá±á¬ááºáá¬ááŒá áºáá±á¬ááŒá±á¬áá·áºáááºáž á á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáá«áááºá ááááºážá¡áá»ááºá¡áááºááẠáá¯áá¹ááá®á¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáááºá áááºááá·áºáááºážááŸáá·áºáá»áŸ áá¯á¶ážááŸá¯á¶ážááœá¬ážááá¯ááºáááºá ááá¯á·áá±á¬áº áá áºáá»áááºáááºážááœááºá databases áá»á¬ážááẠá¡ááœááºááŸá¯ááºááœá±ážáá±á¬ software á¡ááá¯ááºážáá»á¬ážááŒá áºáááºá áááºážááá¯á·ááœáẠá¡á áááºá¡ááá¯ááºážáá»á¬ážá áœá¬ áá«áááºáá«áááºá ááŒá®ážáá±á¬á· áá®á¡á áááºá¡ááá¯ááºážáá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááá¯á· ááá¯áá«áááºá
PostgreSQL á¡ááŒá±á¬ááºáž á¡áá°ážááŒá±á¬áá±áá»áŸáẠáááºážááᯠá¡á áááºá¡ááá¯ááºážá¡áá»á¬ážá¡ááŒá¬ážáá«áááºááá·áº á¡á á®á¡á á¥áºáá¯á¶á á¶ááŒáá·áº ááá¯ááºá á¬ážááŒá¯ááá¯ááºáááºá á€á¡á áááºá¡ááá¯ááºážáá»á¬ážááẠáá áºáá¯ááŸáá·áºáá áºáᯠá¡ááŒááºá¡ááŸáẠáááºáá±á¬ááºááŸá¯ááŸááááºá áá áºáá»áááºáááºážááŸá¬áááºá PostgreSQL ááœáẠStats Collector áá¯áá±á«áºáá±á¬ á áá áºááœá²áá áºáᯠááŸáááŒá®áž áááºážá áá áºááœá²áá»á¬ážá áá¯ááºáá±á¬ááºááŸá¯ááá¯ááºáᬠá á¬áááºážá¡ááºážáá»á¬ážááᯠá á¯áá±á¬ááºážáᬠá á®áá¶ááá·áºááœá²áá° ááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áá°á¡á¬áž á€á á¬áááºážá¡ááºážáá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯ááºá á±ááẠá¡ááœááºá¡ááŒááºáá áºáá»áá¯ážáá»áá¯áž áá±ážá áœááºážááá¯ááºáááºá
á€ááááºážááááºážáá»á¬ážááᯠá¡áá»áá¯á·áá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº á¡ááŒááºáá»á¬ážáá¯á¶á á¶ááŒáá·áº áááºááŒáá«áááºá áááºážááá¯á·ááᯠá á¬ážááœá²áá»á¬ážáá¯áááºáž áá±á«áºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á áá¯á¶ááŸáẠpsql client ááᯠá¡áá¯á¶ážááŒá¯á áááºááẠáá±áá¬áá±á·á áºááá¯á· áá»áááºáááºááá¯ááºáááºá á€áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº á¡ááŒááºáá»á¬ážáá±á«áºááœáẠááœá±ážáá»ááºááŸá¯ááŒá¯áá¯ááºááá¯ááºááŒá®áž PostgreSQL á áá áºááœá²áá»á¬ážá áá¯ááºáá±á¬ááºááŸá¯ááá¯ááºáᬠáá®ážááŒá¬ážáá¶áá«ááºá¡áá»áá¯á·ááᯠááá°ááá¯ááºáááºá
áááºááẠá€áá¶áá«ááºáá»á¬ážááᯠáááºááŸá áºáááºáá±á¬ á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááœáẠááá·áºááá¯ááºáááºá ááááºáá»á¬ážááœá²áááºá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá±á«ááºážááá·áºááá¯ááºááŒá®áž áá±ááŸááºááœáẠááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá»á¬ážááᯠááá°ááá¯ááºáá«áááºá
áá«áá±ááá·áº áá®á¡á
á®áááºáá¶á
á¬ááŸá¬ áá»áœááºáá±á¬áº áá®áá¯ááºáá±á¬ááºáá»ááºááœá±á¡á¬ážáá¯á¶ážááᯠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž ááŒá¯á¶áá¯á¶ááááŸá¬ ááá¯ááºáá«áá°ážá ááŸá
áºáá¯á áá¯á¶ážá áá±ážáá¯ááᯠá
á¬áá¬ážá¡ááá¯ááºážááŒá±á¬ááŒá®áž á
á±á¬áá·áºááŒáá·áºááŸá¯ááᯠááá¯áá±á¬ááºážá¡á±á¬áẠáááºááá¯áá°áá®áá±ážááá²ááá¯áᬠááŒá±á¬ááŒáááºá
áá±áá¬áá±á·á
áºá
á±á¬áá·áºááŒáá·áºááŒááºážá¡ááŒá±á¬ááºážááŒá±á¬ááẠáá¬ááá¯á
á±á¬áá·áºááŒáá·áºááá¯á·ááá¯ááá²á ááááŠážá
áœá¬á áá»áœááºá¯ááºááá¯á·ááẠáááŸáááá¯ááºááŸá¯ááᯠá
á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá±áá¬áá±á·á
áºááẠáá¯á¶ážá
áœá²áá°áá»á¬ážáᶠáá±áá¬áááºáá±á¬ááºááœáá·áºááᯠáá±ážáá±á¬ááºááá·áº áááºáá±á¬ááºááŸá¯áá
áºáá¯ááŒá
áºááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠáááŸáááá¯ááºááŸá¯ááᯠá
á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºááá·áºá¡ááŒáẠáááºážá á¡áááºá¡ááœá±ážááŸáá·áº á¡áá±á¡ááœááºááá¯ááºáᬠáááá±áááá¹ááá¬á¡áá»áá¯á·ááá¯áááºáž áá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áº ááŒá
áºáááºá
áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á áºááá¯á· áá»áááºáááºááá·áºáá±á¬ááºáááºáá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáá«áááºá áááºážááá¯á·ááᯠá á±á¬áá·áºááŒáá·áºáááºááŸáá·áº áááºážááá¯á·á áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááŒá±áá¬áá¶áááºáááºáž ááá¯á¡ááºáá«áááºá
áá±áá¬áá±á·á áºááá¯á· áá±á¬ááºáááºáá»á¬áž áá»áááºáááºáá±á¬á¡áá«ááœáẠáááºážááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá±áá¬ááŸáá·áº á áááºáá¯ááºáá±á¬ááºáá¬áááºááᯠáááá¬áááºááŸá¬ážááŸáááºá ááá¯á·ááŒá±á¬áá·áº áá¯á¶ážá áœá²áá°áá»á¬ážááẠáá±áá¬ááŸáá·áº áááºááá¯á·á¡áá¯ááºáá¯ááºáááºááᯠá á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáááº- áááºááá·áºááá¬ážáá»á¬ážááŸáá·áº á¡ááœáŸááºážááááºážáá»á¬áž áááºážáá«ážááá·áºá¡ááá¯ááºážá¡áá¬á¡ááá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºáá»á¬áž áááºáá®ážáá¬ážáá±á¬ á¡áá¯ááºáá¬áááºááᯠá¡áá²ááŒááºááẠááá¯á¡ááºáá«áááºá
ááá¯á·áá±á¬áº á¡áá¯ááºáá¬áááºááŸá¬áááºáž áá±á¬ááºážááá¯ááŸá¯áá»á¬áž áá«áááºáá«áááºá á¡ááá®áá±ážááŸááºážáá»á¬ážááẠáá±áá¬áá±á·á áºááá¯á· áá»áááºáááºáá¬á á á¯á¶á ááºážáá±ážááŒááºážááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬áááºáá±á¬ááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·áá±áá¬áá±á·á áºááœáẠáááºááá·áºáá±ážááœááºážáá»á¬ážááŸááááºááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáááºá ááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·ááẠááááºáá¬áá±ážáá¬ážáá¬ážááŒááºážááá¯ááºááŒá±á¬ááºážá á¡áá»áá¯á·áá±á¬ááœá±ážáá»ááºááŸá¯áá»á¬áž ááá¯ááá¯ááŒááºáááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááẠáááºážááá¯á·ááá¯á¶áá±á¬ááºááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºá á áºáá±ážááẠá¡áá±ážááŒá®ážáá«áááºá ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬á áœááºážáá±á¬ááºáááºááŸáá·áºá¡áá°á
áá±áá¬áá±á·á áºáá áºáá¯á¡ááŒá±á¬ááºážááŒá±á¬áá±áá±á¬ááŒá±á¬áá·áºá áá±áá¬áá±á·á áºááẠá¡ááŒá²áááºážáá±á¬ááºáá¶ááŒá áºá ááºáá»á¬ážááŒá áºáááºá áá±á¬ááºáá¶áá¯ááºáááºážá ááºáá»á¬ážááẠáá±áá¬áá±á·á áºá áœááºážáá±á¬ááºáááºááᯠáá±á¬ááºážááœááºáá±á¬á¡ááá·áºááœáẠááááºážááááºážáá¬ážááẠáá°áá®áá±ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·áá¯ááºáá±á¬ááºáááºá¡ááœáẠáááºážááá¯á·ááá¯ááºááá¯ááºá¡ááœáẠá¡áááºážá¡ááŒá áºá¡áá»áá¯á· ááá¯á¡ááºáá«áááºá áá áºáá»áááºáááºážááŸá¬áááºá áááºážááá¯á·ááẠáá±á¬ááºáááºáá±á¬ááºážááá¯ááŸá¯á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº áááºáá±ááá¯ááºáá±á¬ááŒá±á¬áá·áº áá±á¬áááŒá®ážáá±á¬áá±á¬ááºáá¶áá¯ááºáááºážá ááºáá»á¬ážááẠáá¯á¶ážá áœá²áá°áá±á¬ááºážááá¯ááŸá¯áá»á¬ážáá áœááºážáá±á¬ááºáááºááᯠááá¯ááºááá¯ááºá¡áá»áá¯ážáááºáá±á¬ááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·ááᯠáá±á¬ááºáá¶áá¯ááºáááºážá ááºáá»á¬ážááœáẠááœá²ááœá²ááŸá¯áá»á¬ážáááŒá áºá á±ááẠáááºážááá¯á·ááá¯áááºáž á á±á¬áá·áºááŒáá·áºááŒá®áž ááŒá±áá¬áá¶ááẠááá¯á¡ááºáá«áááºá
áá±áá¬áá±á·á áºá á±á¬áá·áºááŒáá·áºááŒááºážáá ááºážáááºážáá»ááºáá»á¬ážáá€á¡áá¬á¡á¬ážáá¯á¶ážáááºá áá áºáááºááá áºááœááºáá»ááºááŸááááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·áá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡áá»á¬ážá á¯ááẠááááºááá¯ááºáá»á¬ážáá®ááá¯á· ááœá±á·áá»á¬ážáá±áááºáᯠáá°ááá«áá áá áºáŠážáá»ááºážá¡áááºááŸááºáá áºáŠážáá»ááºážá á®á á áá áºááá¯ááºážáá¬ááŸá¯áá»á¬ážááẠáá±á¬ááºáá¶ááœáẠá¡ááŒá²áá»á±á¬ááºááœááºááœá¬ážáá«áááºá ááá¯á·áá±á¬áº áá±áá¬áá±á·á áºáá»á¬ážááœáẠáááºážááá¯á·ááẠáááºááá¯ááºáá²ááŒá áºááŒá®ážá á áá áºááá¯ááºážááœá¬ááŸá¯áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºáááºáááºáž ááá¯á¡ááºáá«áááºá
á áá áºáááºááá áºáá»á¬ážááŒáá·áº á¡áááºážááŸáá·áºá¡áá»á¬áž á¡áááºááŒá±áááºá áá±ááºáá®á á±á¬áá·áºááŒáá·áºáá±ážá áá áºáá»á¬ážá¡á¬ážáá¯á¶ážááẠá€áááºááá áºáá»á¬ážááᯠáá¶á·ááá¯ážáá¬ážááŒá®ážááŒá áºáááºá ááá¯á·áá±á¬áº áá±áá¯áá»á¡á¬ážááŒáá·áº á¡áá»áá¯á·áá±á¬á¡á áááºá¡ááá¯ááºážáá»á¬ážááẠááá¯á¶áá±á¬ááºáá±ážáá² á¡áá»áá¯á·á¡áá¬áá»á¬ážááᯠáááºááá·áºááẠááá¯á¡ááºáá«áááºá áá«áááºážáá°ááá¯á·ááá¯áááááá·áºáááºá áá°ááá¯á·áá²á·áááºáááºáá²á· slides á¡áá»á¬ážá¡ááŒá¬ážááŸááááá·áºáááºá
á¡á
á®á¡á
ááºá áááá¡áá»ááºááŸá¬ áá¯á¶ážá
áœá²ááá¯ááºááŸá¯ááŒá
áºáááºá áá¯á¶ážá
áœá²ááá¯ááºááŸá¯áá°ááẠá¡áááºáááºážá áá»áœááºá¯ááºááá¬ážáááºááŸá¯ááœááºáááŸáááá¯ááºááŸá¯áááºáááºáá±á¬ááºááŸá¯áá»áááºáááºááŸá¯áá»á¬ážá¡ááœááºá¡ááŒá±áá¶áá
áœááºážáááºááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬á¡ááŒá±áá¶ááá¯ááŒáŸáá·áºáááºáááºá áááºážáááºáááºáá±á¬ááºááŸá¯áá
áºáá¯á¡áá±ááŒáá·áºáá±á¬ááºáááºáá»á¬ážáá¶ááŸáá»áááºáááºááŸá¯áá»á¬ážááá¯áááºáá¶áááºá ááŸáá·áº á€áááºáá±á¬ááºááá¯ááºááŸá¯ááᯠá¡áá»áá¯á·áá±á¬ááá¹ááá¬áá»á¬ážááŒáá·áº á¡áá²ááŒááºááá¯ááºáááºá áááºááŸáºáá¯ááºáá»á¬ážááœáẠá€ááá¹ááá¬áá»á¬ážááá¯ááŒáááẠá¡ááœááºá¡áááºááŒá±áááºá
áááºááŸáºáá¯ááºááœá±ááá¯áᬠáá°ááá¯ááºážáááá«áááºá ááá¯á¡ááºáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááᯠá¡áá»ááºážáá»á¯ááºáá±á¬áºááŒááá·áº á
ááááºááᯠáá
áºáá»ááºááŒáá·áºááá¯ááºáá±á¬á¡áá«ááœáẠá€á¡áá¬ááŒá
áºáááºá ááŒá®ážáá±á¬á· áá±áá¬áá±á·á
áºááŸá¬ ááŒá¿áá¬ááŸáá áááŸáááᯠáá»ááºáá»ááºážáá¯á¶ážááŒááºááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá±áá¬áá±á·á
áºááááŸáááá¯ááºááŸá¯ááŸáá·áºá¡ááŒá¬ážáá±á¬á·áá»ááºáááá±áááá¹ááá¬áá»á¬ážáááºáááºááŸáºáá¯ááºáá»á¬ážááœááºá¡ááŒá²áááºážááŒáááá·áºáááºá ááá¯á·ááŸáá¬á€á¡áá»ááºá¡áááºáááºáááºáá²ááœááºááŸáááŒá®ážááá·áºá¡ááœááºá¡ááŒá²áááºážáááŸáááá¯ááºáááºááŒá
áºáááºá á¡áá»áá¯á·áá±á¬ á¡áá±ážáá±á«áºá¡ááŒá±á¡áá±áá»á¬ážááᯠá
á¯á¶á
ááºážá
á
áºáá±ážáá±á¬á¡áá«ááœáẠá¡ááŒá
áºá¡áá»ááºáá»á¬ážááᯠá
á¯á¶á
ááºážá
á
áºáá±ážáá¬ááœáẠá¡áá±á¬ááºá¡áá°ááŒá
áºá
á±áá±á¬ áá±á¬ááºáááºá¡áá±ážá
áááºá¡áá»ááºá¡áá»áá¯á·ááᯠááá·áºááœá¬ážááá¯ááºááœááºáá»á¬ážáá±á«áºááœáẠáá¬ážááŸáááẠááá¯á¡ááºááŒá®áž ááá¯á·ááá¯áẠááŒááºáá¡ááœá²á·á¡á
ááºážá
á±á¬áá·áºááŒáá·áºáá±ážá
áá
áºáá»á¬ážáá®ááá¯á· áŠážáááºááá·áº drilldown links áá»á¬ážááœáẠááŸááºáá¬ážáááºá
áá°áááá»á¬ážáá±á¬ á á±á¬áá·áºááŒáá·áºáá±ážá áá áºá á¥ááá¬áá áºáá¯á á€áááºááŸá¬ á¡ááœááºá¡á±ážááŒáá±á¬ á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááŒá áºáááºá áá°áááẠáá±áá¬áá»á¬ážá áœá¬ááᯠá á¯áá±á¬ááºážáá±á¬áºáááºáž áá»áœááºáá±á¬á·áºá¡ááŒááºá¡áá áá°áááœáẠáááºááŸáºáá¯ááºáá»á¬ážá áá°ážáááºážáá±á¬ á¡áá°á¡ááá áºáá¯ááŸááááºá "áááºááŸáºáá¯ááºáááºáá®ážáááº" ááá·áºááºáá áºáá¯ááŸááááºá áá«áá±ááá·áº ááẠáááºááŸáºáá¯ááºáá áºáá¯ááᯠáááºáá®ážáá²á·á¡áá«á áá±á¬áºáá¶ááŸá áºáá¯á á¬áááºážá ááááºááœá±áá²á·á á¬áááºážááᯠáááºáááºáá®ážáá«á áá áºáá¯áá¯ááá¯ááŒáá·áºááá¯á· ááá¯áá²á·á¡áá«á áá±á¬ááºá áºáá²á· ááá áºááŸáááºááŒá®áž ááŸááá·áºááá¯ááºá ááá¯áá»ááºáá²á·ááá¬ážááᯠááŸá¬áá«á áááºážááŸá¬ á¡áá»áááºáá°ááá«áááºá ááá¯ááá¯áááºááŸá¬ ááá¯áá²á·ááá¯á· áááºááŸáºáá¯ááºáá»á¬áž áááŸááá«á á á¬áááºážááá¬ážáá»á¬ážáá¬ááŸááááºá
á€áááºááŸáºáá¯ááºáá»á¬ážááœáẠáááºáá¬ááá·áºááá·áºááááºážá áá¯á¶á·ááŒááºáá»áááºáá²á·ááá¯á·áá±á¬ ááá¹ááá¬áááºááŒáá·áº á áááºááá¯ááºáááºá PostgreSQL ááœáẠpg_stat_statements ááŒááºááœááºážááŸááááºá áááºážááᯠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº ááááºáá¬ážáá±á¬áºáááºáž áááºážááẠá¡ááŒá²áááºážááœáá·áºááŒá®áž á¡áá¯á¶ážááŒá¯ááá·áºááá·áº á¡áá±ážááŒá®ážáá±á¬ á áá áºá¡ááŒááºáá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá áááºážááẠáá±áá¬áá±á·á áºááœáẠáá¯ááºáá±á¬ááºáá²á·áá±á¬ áá¯ááºáá±á¬ááºáá±ááá·áº áá±ážááœááºážáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážá á á¯á á¯áá±á«ááºážáá¯ááºáá±á¬ááºáá»áááºááᯠáá°ááá¯ááºááŒá®áž á¡áááºá¡ááœááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá±á¬ááºážááá¯áá»ááºá¡áá±á¡ááœááºááŒáá·áº ááá¯ááºážááŒá¬ážááá¯ááºáááºáá°áá±á¬á¡áá»ááºá០á áááºááá¯ááºáááºá áá«áá±ááá·áº áá«á áá±ážáá¯á¶áá²á· áá»ááºážáá»áŸá¡áá°áá»áááºáá«á áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážáááºáááºáá»á¬ážá០á áááºááá¯ááºááẠ- á¡áááá·áºáá¯á¶áž áá±ážááŒááºážááŸá¯áá¯ááºáá±á¬ááºáá»áááºá á¡áá»á¬ážáá¯á¶ážááŸáá·áº áá»ááºážáá»áŸá áá»áœááºá¯ááºááá¯á·ááẠáá¬ááá¯ááºááŸá¯ááºážáá»á¬ážááá¯ááẠáááºáá±á¬ááºááá¯ááºáááºá PostgreSQL ááẠáááºážá¡ááœáẠáááºááá¯ááºááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž ááŸááááºá ááŒá®ážááŒáá·áºá á¯á¶áá±á¬áá±á¬ááºážááá¯ááŸá¯áá»á¬ážá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á áºááá¯á¶á·ááŒááºáá»áááºááá¯áá±á¬áºááŒááá·áºáá¶áá«ááºá¡áá»áá¯á·ááá¯áá»áœááºá¯ááºááá¯á·áááŸáááá¯ááºáá«áááºá ááá¯ááá¯áááºááŸá¬áá»áœááºá¯ááºááá¯á·áááºáá±á¬ááºážááá¯áá»ááºá¡áᯠ'select 1' ááá¯áá¯ááºáá±á¬ááºááŒá®ážáá¯á¶á·ááŒááºáá»áááºááá¯ááŒáá·áºááŸá¯ááŒááºážáááŸááá«á ááá¯á·áá±á¬áºááŒá®ážáá±á¬áá±á¬ááºážááá¯ááŸá¯áá»á¬ážá¡ááœááºáá¯á¶á·ááŒááºáá»áááºááá¯ááœá²ááŒááºážá áááºááŒá¬ááŒá®ážááœá²áá«á áá®ážááŒá¬ážááááºážááááºážáá áºáá¯ááŒá áºá á±á áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¯á¡ááŒá±áá¶á ááááºáá áºáá¯áááºáá±á¬ááºáá«á
á áá áºá០áááºááŸááá¯ááºáá±ážáá±áá±á¬ á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááá¯áááºáž á á±á¬áá·áºááŒáá·áºááẠá¡áá±ážááŒá®ážáá«áááºá áááºážá¡ááœáẠáááºááẠpg_stat_database ááŒááºááœááºážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠxact_rollback á¡ááœááºááá¯á¡á¬áá¯á¶á áá¯ááºáááºá á€á¡ááœááºááẠáá±áá¬áá±á·á áºááœáẠááŒá áºáá±á«áºááá·áº ááŸáá·áºááŒááºááŸá¯á¡áá±á¡ááœááºáá¬áá á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááá¯áá« ááá·áºááœááºážáá±á¬áºááŒáááºá ááŸáá¯ááºážáááŒá±á¬ááá»áŸáẠáá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á áááºááŸáºáá¯ááºááœáẠá€ááááºážááááºážááᯠááŒáááá¯ááºááŒá®áž áááºááŸá áá»áœááºá¯ááºááá¯á·ááœáẠá¡ááŸá¬ážá¡ááœááºážáááºáá»áŸááŸááááºááᯠááŒáá·áºááŸá¯ááá¯ááºáá«áááºá á¡ááŸá¬ážá¡ááœááºážáá»á¬ážá áœá¬ááŸááá±áá«á ááŸááºáááºážáá»á¬ážááá¯ááŒáá·áºááŸá¯ááŒá®áž áááºážááá¯á·ááẠáááºááá¯á·áá±á¬ á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááŒá áºááááºážá á¡áááºááŒá±á¬áá·áºááŒá áºáá±á«áºáá¬áááºááá¯ááŒáá·áºááẠá¡ááŒá±á¬ááºážááŒáá»ááºáá±á¬ááºážáá áºáá¯ááŒá áºááŒá®áž áááºážááá¯á·ááᯠáááºážááŸá®ážááŒáŸááºááŸá¶ááŒá®áž ááŒá±ááŸááºážáá«á
Tachometer áá²á·ááá¯á·áá±á¬á¡áá¬ááá¯áááºááá·áºááá¯ááºáááºá áááºážááá¯á·ááẠáá áºá áá¹ááá·áºáá»áŸáẠá¡áá±á¬ááºážá¡áááºá¡áá±á¡ááœááºááŸáá·áº áá áºá áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯ááŸá¯á¡áá±á¡ááœááºáá»á¬ážááŒá áºáááºá ááŸáá¯ááºážáááŒá±á¬ááá»áŸáẠáááºááẠá€áá¶áá«ááºáá»á¬ážááᯠááá·áºáá±áá¬áá±á·á áºá áááºááŸáá áœááºážáá±á¬ááºáááºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááœáẠá¡ááœááºá¡ááááºááŸááááŸáá á¡áá±á¬ááºážá¡áááºáá»á¬ážááœáẠá¡ááœááºá¡ááááºááŸááááŸáá ááá¯á·ááá¯áẠá¡áá»áá¯á·áá±á¬ backend áá»á¬ážáá¡á±á¬ááºááŒááºáá±á¬ááŒá±á¬áá·áº áá±áá¬áá±á·á áºááẠáá»áŸá±á¬á·áá»ááœá¬ážááŒááºážááŸááááŸá á á±á¬áá·áºááŒáá·áºáá±á·áá¬ááá¯ááºáá«áááºá á€ááááºážááááºážááᯠá¡ááŒá²ááŒáá·áºááŸá¯ááŒá®áž áá»áœááºá¯ááºááá¯á·á ááá±á¬áá»ááºá¡ááœáẠá€áá²á·ááá¯á·áá±á¬ á áœááºážáá±á¬ááºááŸá¯áá»áá¯ážááẠáá¯á¶ááŸááºááŒá áºáááºááᯠááááááẠá¡áá±ážááŒá®ážáá±á¬áºáááºáž á¡áááºááŸáá·áº á¡á±á¬ááºáááºááá¯ážáá»á¬ážááẠááŒá¿áá¬ááŸáááŒá®áž áá¬ážááááºááá¯ááºáá±á¬ á¡áá»áá¯ážá¡á á¬ážá¡áá»áá¯á· ááŒá áºáá±ááŒá®ááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ á€ááááºážááá¬ááºážáá»á¬ážááᯠááŒáá·áºááŸá¯ááẠááá¯á¡ááºáá«áááºá á¡áááºážááŒáá·áºáááºá
á¡áá±á¬ááºážá¡áááºá¡áá±á¡ááœááºááᯠááá·áºááŸááºážáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠpg_stat_database ááŒááºááœááºážááᯠáááºáá¶ááá¯ážáá¬ážááá¯ááºáá«áááºá commits á¡áá±á¡ááœááºááŸáá·áº rollbacks á¡áá±á¡ááœááºááá¯á·ááᯠáá±á«ááºážááá·áºááá¯ááºááŒá®áž áá áºá áá¹ááá·áºáá»áŸáẠááœá±áá±ážááœá±áá°á¡áá±á¡ááœááºááᯠááá°ááá¯ááºáá«áááºá
áá±á¬ááºážááá¯áá»ááºáá»á¬ážá áœá¬ááẠááœá±áá±ážááœá±áá°áá áºáá¯ááœáẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±ááá¯ááºáááºááᯠáá°ááá¯ááºážáá¬ážáááºáá«ááá¬ážá ááá¯á·ááŒá±á¬áá·áº TPS ááŸáá·áº QPS ááẠá¡áááºážáááºááœá²ááŒá¬ážáááºá
áá áºá áá¹ááá·áºáá»áŸáẠáá±á¬ááºážááá¯ááŸá¯ á¡áá±á¡ááœááºááᯠpg_stat_statements áá»á¬ážá០ááá°ááá¯ááºááŒá®áž ááŒá®ážáá²á·áá±á¬ áá±á¬ááºážááá¯áá»ááºá¡á¬ážáá¯á¶ážá áá±á«ááºážáááºááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááœááºáá»ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠáááºááŸááááºááá¯ážááᯠááááºáááºááá¯ážááŸáá·áº ááŸáá¯ááºážááŸááºáᬠáá¯ááºáá°ááŒááºážá ááŒá áºááá»áœááºážáá±á«áºáá±áááᯠááá°ááŒá®áž ááá¬áááᯠááá°ááŒááºážááŒá áºáááºááŸá¬ áááºááŸá¬ážáá«áááºá
á¡ááá¯ááŸááá«á áá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á áºááááŸáááá¯ááºááŸá¯ááᯠá¡áá²ááŒááºáááºááŸáá·áº á ááºáááºááœá¬ážááŒááºážááŸááááŸáááᯠá á±á¬áá·áºááŒáá·áºáá¬ááœááºáááºáž á¡áá±á¬ááºá¡áá°ááŒá áºá á±ááá·áº áá±á¬ááºáááºáááºááá áºáá»á¬ážááᯠá¡ááá¯ááŸááá«á áááºááá·áºááœááºážááá¯ááºáá«áááºá
á€áááºááá áºáá»á¬ážáá²á០áá áºáá¯ááẠá¡áá¯ááºáá»áááºááŒá áºáááºá ááá¯á·áá±á¬áº PostgreSQL ááŸá á¡áá¯ááºáá»áááºááẠá¡áááºážááẠáááºážáá»ááºáááºá áá¬ááŒá±á¬áá·áºáá²ááá¯áᬠááŒá±á¬ááŒáááºá PostgreSQL á áááºáá±á¬á¡áá«á á¡áá¯ááºáá»áááºááẠá áááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá±á¬á¡áá¯ááºááẠáá¡áá»áááºááœáẠáá¯ááºáá±á¬ááºáá±áá«áá OOM-áá°áááºááá¬ážááẠáá±á¬ááºááŸááá¬ááŒá®áž PostgreSQL ááá±ážáá¯ááºáááºážá ááºááᯠá¡áááºážá¡áá»ááºáááºá á²ááá¯ááºáá»áŸáẠá€á¡ááŒá±á¡áá±ááœáẠPostgreSQL ááẠclient áá»á¬ážá¡á¬ážáá¯á¶ážááá»áááºáááºááŸá¯ááᯠáááºááá¯ááºážááá¯ááºáᬠsharded memory area ááᯠááŒááºáááºáááºááŸááºááŒá®áž ááŒááºáááºááá°ááŒááºážá០á áááºáááºá áá±á¬ááºáá¯á¶ážá á áºáá±ážáá±ážááááºá á á áºáá±ážáá±ážááááºá០á€ááŒááºáááºááá°ááŒááºážááẠááŒá¬ááŸááºáá±áá±á¬áºáááºáž áá±áá¬áá±á·á áºááẠáá»áááºáááºááŸá¯áá»á¬ážááᯠáááºááá¶áá«á ááá¯ááá¯áááºááŸá¬ á€á¡ááŒá±á¡áá±ááᯠá ááºáááºáá»áááºá¡ááŒá Ạá¡áá²ááŒááºááá¯ááºáá«áááºá ááá¯á·áá±á¬áº á¡áá¯ááºáá»áááºáá±á¬ááºáá¬á¡á¬áž ááŒááºáááºáááºááŸááºáááºááá¯ááºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠáááá¡ááá¯ááºá¡ááá·áºá០á á¬ááá¯ááºáá¬á áá¬á áááºááá·áºá¡áá»áááºááᯠááá·áºááœááºážá ááºážá á¬ážáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº ááá¯ááá¯á·áá±á¬ á¡ááŒá±á¡áá±áá»á¬ážááᯠáá»á±á¬áºááœáŸá¬ážááá¯ááºáááºá
áá¯ááºá á¯ááºá áẠáá¯ááºáá¬ážá¡áá±á¡ááœááºááá¯áááºáž á á±á¬áá·áºááŒáá·áºááá·áºáááºá PostgreSQL ááœáẠautovacuum áá°áááºááᯠáá°ááá¯ááºážáááá«ááá¬ážá áááºážááẠPostgreSQL ááŸá á áááºáááºá á¬ážááœááºáá±á¬ááºážáá±á¬ á áá áºááœá²áá áºáá¯ááŒá áºáááºá áá°á·á¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážááœá± á¡áá»á¬ážááŒá®ážáá±ážááŒá®áž á¡á á®áááºáá¶á á¬ááœá± á¡áá»á¬ážááŒá®áž áá¯ááºáá¬ážáááºá áá±áá¬áááºáá²á· áááºááá¯á¡áá¯ááºáá¯ááºááá·áºáááºááá¯áᬠááœá±ážááœá±ážááŸá¯ááœá± á¡áá»á¬ážááŒá®ážááŸááá«áááºá áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá á¡á²áá«ááᯠááá±á¬ááºážááŸá¯ááá¯á· áá°áááŒáááºá áá«áá±ááá·áº á¡á²áá«á áááºááá¯áá²á áááºážááẠá¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºáá¬ááœáẠáááá¯á¡ááºáá±á¬ áá±ááºááá®áá±á¬ á¡áááºážáá»á¬ážá áá¬ážááŸááºážáá»á¬ážááᯠááŸááºážáá±ážáᬠá¡áááºážá¡áá áºá¡ááœáẠááá¬ážáá»á¬ážááŸáá·áº á¡ááœáŸááºážáá»á¬ážááœáẠáá±áá¬ááœááºáá»á¬áž á¡ááá²á·áá±ážááá·áº á¡ááŸáá¯ááºá á¯áá±á¬ááºážáá°á analogue á¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŒá áºáááºá
á¡áááºááŒá±á¬áá·áº áááºážááᯠá á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºááááºážá áá¬ááŒá±á¬áá·áºáá² ááá¯áá±á¬á· áá±áá¬áááºá ááá«ááᶠá¡áááºážáá¬áá»ááºááá«áááºá áááºážááẠá¡áááºážá¡ááŒá áºáá»á¬ážá áœá¬ááᯠá á¬ážáá¯á¶ážááŒá®áž ááááºá¡áá±ááŒáá·áº áá¯á¶ážá áœá²áá°áá»á¬ážá áá±á¬ááºážááá¯ááŸá¯áá»á¬áž á áááºáá¶á á¬ážááááºá
áá±á¬ááºá¡ááá¯ááºážááœáẠáá»áœááºá¯ááºááŒá±á¬ááá·áº pg_stat_activity ááŒááºááœááºážááŸáááá·áº áááºážááᯠá á±á¬áá·áºááŒáá·áºááá«áááºá á€ááŒááºááœááºážááẠáá±áá¬áá±á·á áºááŸá áááºááŸááá¯ááºáá±á¬ááºáá»ááºááᯠááŒááááºá á€áá¯ááºáá±á¬ááºáá»ááºááŸáá áºááá·áº áá»áœááºá¯ááºááá¯á·ááẠááá¯áá¯ááºáá±á¬ááºáá±áá±á¬ áá±áá¬áááºá¡áá±á¡ááœááºááᯠááŒá±áá¬áá¶ááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áááºáá»á¬ážááᯠááŒá±áá¬áá¶ááá¯ááºááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠááá·áºáááºáá»ááºááᯠáá»á±á¬áºááœááºááœá¬ážáá«áá áááºážááẠPostgreSQL áááºáááºáá»á¬ážááᯠááŒáá·áºááŸá¯áááºááŸáá·áº áá±áá¬áááºá áá¯ááºáá±á¬ááºáá»ááºááᯠáá áºáááºážáááºážááŒáá·áº á¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááẠá¡ááŒá±á¬ááºážáááºážáá áºáá¯ááŒá áºáááºá
PostgreSQL ááá±á¬ááºáááºá¡áá»ááºáá áºáá¯ááŸá¬ PostgreSQL áááºááŸááºáá»á¬ážáá±á¬á¡áá±á¬ááºážá¡ á ááºáá»á¬ážá¡ááœááºá¡ááœááºá áááºááá±á¬ááºážááŒá áºáá±áááºá á¡áá°ážáááŒáá·áº á¡áá»áááºá¡ááŒá¬ááŒá®áž ááá¯ááºážááŒá®áž áá¬ááŸááá¯ááºáá²á· á¡áá±á¬ááºážá¡áááºááœá±ááá±áá±á«á·á áááºážááᯠstat idle-in-transaction áá¯áá±á«áºáááºá ááá¯ááá¯á·áá±á¬ ááœá±áá±ážááœá±áá°ááẠáá±á¬á·áááºáá¬ážááŒá®áž áá±áá¬áááºááᯠá¡áá¯ááºááá¯ááºá¡á±á¬áẠáá¬ážáá®ážáá±ážáááºá ááááºá¡áá±ááŒáá·áº á á¬ážááœá²áá»á¬ážááẠáá±á¬ááºážáá¬ááŒá®áž á¡ááœááºá¡á á¬áž ááá¯ážáá¬áááºá ááŒá®ážáá±á¬á· áá®ááá¬ážááœá±áá²á· á¡áá¯ááºáá¯ááºáá²á· queries ááœá±á ááá¯ááŸá±ážááœá±ážáá¬áááºá áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· á¡áááºážáá²á· áá¬ážááŸááºážá¡áá±á¬ááºážááœá±ááᯠmemory ááá± disk áá²á· back ááœá±ááᯠááœááºážáá¯ááºááá¯á· ááá¯á¡ááºáá¬ááŒá±á¬áá·áºáá«á ááá¯á·ááŒá±á¬áá·áº á¡áá»áááºá á¡ááŒá¬áá¯á¶áž á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááá·áºááŒá¬áá»áááºá á¡ááŸááºáá¯á¶áž áá±áá¬áááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááá¯áááºáž á á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáá«áááºá OLTP load áá áºáá¯á¡ááœáẠ10-20-30 áááá áºáá»á±á¬áºááŒá¬ááŒáá·áºáá±ááŒá®ááŒá áºáá±á¬ áá¯ááºáááºážá ááºá¡áá»áá¯á·ááá¯áá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáá«áá áááºážááá¯á·ááá¯á¡á¬áá¯á¶á áá¯ááºááŒá®áž áááºážááá¯á·á¡á¬áž á¡áááºážá¡ááŒááºááááºáá áºááẠááá¯á¡ááºáá«ááẠááá¯á·ááá¯áẠáááºážááá¯á·á¡ááœáẠá¡ááºááºááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬ááºááŒá¯áá¯ááºááẠááá¯á¡ááºáá«áááºá á¡ááŒá¬ááŒá®ážááá±á«áºáá«áá²á· á ááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá áºáá¯á¡ááœááºá 10-20-30 áááá áºááẠáá¯á¶ááŸááºááŒá áºááŒá®áž ááá¯ááŸááºáááºáá»á¬ážáááºážááŸááááºá
áá±á¬ááºáá
áºáá¯ááá±á¬á· áá»áááºáááºáá¬ážáá²á· client ááœá±áá²á· ááœá±ážáá»ááºááœáá·áºááŸááá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááŸáºáá¯ááºáá
áºáá¯ááᯠáááºáá®ážááŒá®áž áááºážááœáẠáá±á¬á·áááŸáááá¯ááºááŸá¯ áááºááá
áºáá»á¬ážááᯠáááºáá±á¬á¡áá«á áá»áááºáááºáá¬ážáá±á¬ áááá¯ááºážááá·áºáá»á¬ážá¡ááŒá±á¬ááºáž áááºáá±á¬ááºážá¡áá»ááºá¡áááºáá»á¬ážááá¯áááºáž ááá·áºááœááºážááá¯ááºáááºá
PostgreSQL ááŸá¯áá±á¬áá·áºá០áá±á¬ááºáááºáá»á¬ážááẠááá°áá®áá±á¬ááŒá±á¬áá·áº áá»áááºáááºáá¬ážáá±á¬ client áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºááẠá¡áá±ážááŒá®ážáá«áááºá áá±á¬ááºáááºáá±á¬ááºážááœá±ááŸááááᯠááá±á¬ááºážáá²á·áá±á¬ááºáááºááœá±áááºáž ááŸááááºá
ááá¯ážááŸááºážáá±á¬á¥ááá¬á áá±á¬ááºáááºá¡á¬ážááŒáá·áº áá»áœááºá¯ááºááẠáá»áŸá±á¬ááºááœáŸá¬ááᯠáá¬ážáááºáááºá á¡ááá®áá±ážááŸááºážááẠáá±áá¬áá±á·á áºááá¯á· áá»áááºáááºáá¬ážááŒá®áž ááá¯áá±áá¬á áááºážááá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá»ááºáá»ááºážá áááºáá±ážááá¯á·áááºá áá±áá¬áá±á·á áºááẠáááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºááŒá®áž áá¯ááºáá±á¬ááºáá±ážáᬠááááºáá»á¬ážááᯠáá¯á¶ážá áœá²áá°áᶠááŒááºáá±ážáááºá áá«ááœá±á áá±á¬ááºážááœááºááŒá®áž ááŸááºáááºáá²á· áá±á¬ááºáááºááœá±áá«á
client á áá»áááºáááºáá¬ážáá²á·á¡áá«á áá»áááºáááºááŸá¯ááᯠááááºážáá¬ážáá±ááá·áº áá¬á០ááá¯ááºááá¯ááºáá²á· á¡ááŒá±á¡áá±ááœá± ááŸááá«áááºá áááŸá¯ááºáááŸá¬ážá¡ááŒá±á¡áá±ááœáẠááŸááá±áááºá
áá«áá±ááá·áº ááá±á¬ááºážáá²á·áá±á¬ááºáááºááœá±ááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá°áá®áá±á¬ client ááẠáá»áááºáááºáá¬ážáá±á¬á ááœá±áá±ážááœá±áá°áá áºáá¯ááœáá·áºáááºá áá±áá¬áá±á·á áºááœáẠáá áºáá¯áá¯áá¯ááºááŒá®ážáá±á¬ááºá á¥ááá¬á ááŒááºáá¡áááºážá¡ááŒá áºáá áºáá¯ááá¯á·áááºáá±á¬ááºááẠááá¯á·ááá¯áẠááá¯áá±áá¬ááœááºáááŸááá¬ážáá±á¬áá±áá¬ááá¯áá¯ááºáá±á¬ááºááẠáá¯ááºáá²ááá¯á·áááºááœá¬ážáá«áááºá áá«áá±ááá·áº áá°á á¡áá±á¬ááºážá¡áááºááᯠáááááºáá²á·áá«áá°ážá ááŒá®ážáá±á¬á· ááœá±áá±ážááœá±áá°ááᯠáá±áá¬áá±á·á áºááŸá¬ ááœá²áá¬ážááŒá®áž ááá¯ááºážáá±á«áºááŸá¬ áá±á¬á·áááºáá¬ážáááºá áá«á á¡ááŒá±á¡áá±ááá¯ážáá áºáá¯áá«á ááŒáœááºážáá»ááºá¡áá±áá²á· áá°á·á¡áá²ááŸá¬ áá áºáá±áá¬áá¬ááŸá¬ á¡ááºááá®áá±ážááŸááºážáá áºáᯠáá¯ááºáááẠáá»ááºááœá¬ážáá²á·ááẠááœá±áá±ážááœá±áá°ááᯠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠááœáá·áºáá¬ážááá¯ááºáá«áááºá áááºážááẠPostgreSQL á áœááºážáá±á¬ááºáááºááᯠááá¯ááºááá¯ááºáááºáá±á¬ááºáááºá PostgreSQL ááẠááá¯ááŸá±ážáááá·áºáááºá ááá¯á·ááŒá±á¬áá·áºá ááá¯ááá¯á·áá±á¬áá±á¬ááºáááºáá»á¬ážááᯠá¡áá»áááºáá®ááŒá±áá¬áá¶áááºááŸáá·áº áááºážááá¯á·áá¡áá¯ááºá¡á¬áž á¡áááºážá¡ááŒááºáááºá á²ááẠá¡áá±ážááŒá®ážáá«áááºá ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážáááŒá áºááœá¬ážá á±ááẠáááºááá»áŸá±á¬ááºááœáŸá¬ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬ááºáá¯ááºááẠááá¯á¡ááºáááºá
á¡ááŒá¬ážááá±á¬ááºážáá±á¬ áá±á¬ááºáááºáá»á¬ážááẠáá±á¬ááºáááºáá»á¬ážááᯠá á±á¬áá·áºáá±ááŒáááºá áá«áá±ááá·áº á¡ááŒá±á¡áá±ááœá±ááŒá±á¬áá·áº ááá¯ážáá¬ááŒáááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá¯ážááŸááºážáá±á¬á¡áá¯ááºááá¯ááºáá² ááœá±áá±ážááœá±áá°áá¯ááºááŒááºáž- áááºážááẠááœá±áá±ážááœá±áá°ááá¯ááœáá·áºááá¯ááºááŒá®áž á¡áá»áá¯á·áá±á¬ááá¯ááºážáá»á¬ážááœááºáá±á¬á·áááºááá¯ááºááŒá®ážá ááá¯á·áá±á¬áẠáá¯ááºááá áºáá±áá¬áá¬ááœáẠáá»ááºááœá¬ážáᬠááœá²áá±á¬ááºážáá»áá±ááá·áº ááœá±áá±ážááœá±áá°ááᯠáá»ááºáá¬ážááá¯ááºáááºá á¡ááŒá¬ážáá±á¬ááºáááºáá áºáŠážááẠáá°áá®áá±á¬áá±áá¬ááᯠáá±á¬ááºážááá¯áááá·áºáááºá ááá¯á·áá±á¬áº áááºážááá¯ážáá»á¶ááœá±áá±ážááœá±áá°ááẠááá¯á¡ááºáá±á¬á¡áááºážáá»á¬ážááœáẠáá±á¬á·áááºáá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááẠáá±á¬á·ááºáá»ááŒááºážááᯠááŒá¯á¶ááœá±á·ááááºááŒá áºáááºá áá¯áááááœá±áá±ážááœá±áá°ááẠáááááœá±áá±ážááœá±áá°ááᯠá¡ááŒá®ážáááºááẠááá¯á·ááá¯áẠá á®áá¶ááá·áºááœá²áá°á០á¡áááºážá¡áá»ááºááááºááẠá á±á¬áá·áºááá¯ááºážáá±áááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá ááá¯ááºážáá¶á·áá¬ážáá±á¬ ááœá±ááœáŸá²ááŸá¯áá»á¬ážááẠáá±áá¬áá±á·á áºáá»áááºáááºááŸá¯ááá·áºáááºáá»ááºááᯠá á¯áá±á¬ááºážááŒá®áž ááŒáá·áºááá¯ááºáááºá ááá·áºáááºáá»áẠááŒáá·áºááœá¬ážáá±á¬á¡áá«á á¡ááá®áá±ážááŸááºážááẠáá±áá¬áá±á·á áºááŸáá·áº á¡áá¯ááºááá¯ááºáá±á¬á·áá«á á€áááºááŸá¬ ááá±á¬áá»ááºá¡ááœáẠá¡áá±ážáá±á«áºá¡ááŒá±á¡áá±ááŒá áºáá±ááŒá®ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº ááá±á¬ááºážáá²á·áá±á¬ááºáááºáá»á¬ážááᯠááŒá±áá¬áá¶ááŒá®áž á¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¯á¶á·ááŒááºááẠááá¯á¡ááºáá«áááºá
á
á±á¬áá·áºááŒáá·áºááŒááºážááá±á¬ááºáááºá¥ááá¬á ááŒá®ážáá±á¬á· áá®áá±áá¬ááŸá¬ ááá·áºáá±á¬áºáá²á· áááºááŸáºáá¯ááºáá
áºáᯠááŸáááŒá®ážáá¬ážáá«á á¡áá±á«áºá áá»áááºáááºááŸá¯ááá¯ááºáᬠá¡áá»ááºá¡áááºááœá±ááŸááááºá DB áá»áááºáááºááŸá¯ - 8 á¡ááá¯ááºážááá¯ááºážá áá«ááœá±á¡á¬ážáá¯á¶ážáá«áá²á áááºááá·áºáá±á¬ááºáááºáá»á¬áž áááºááŒáœáá±ááááºážá áááºááá·áºáá±á¬ááºáááºáá»á¬ážááẠáá¬ááŸááá¯ááºáá² áá¬ááŸááá¯ááºáá² áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá»ááºá¡áááºáááŸááá«á ááá¯ááºážáá¶á·áá¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááŸáá·áº ááá¯ááºážáá¶á·áá»áááºáááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáááŸááá«á ááá¯ááá¯áááºááŸá¬á á€áááºááŸá¬ áá»áááºáááºááŸá¯á¡áá±á¡ááœááºááá¯ááŒááá±á¬ ááááºážááááºážáá
áºáá¯ááŒá
áºááŒá®áž áá«áááºááŒá
áºáááºá ááŒá®ážá០ááá¯áá·áºáá¬áᬠááŸááºážááá«á
ááá¯á·ááŒá±á¬áá·áºá á€á¡áá»ááºá¡áááºááᯠá
á±á¬áá·áºááŒáá·áºááŒááºážááœáẠááá·áºááœááºážáááºá áááºááẠpg_stat_activity á
áá
áºááŒááºááœááºážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááẠááá¯á¡ááºáááºá á¡áááºá áááºááẠPostgreSQL ááœáẠá¡áá»áááºáá»á¬ážá
áœá¬ááŒá¯ááºážáá«áá áááºážááẠPostgreSQL ááœáẠáááºááŸááá¯ááºáá±á¬ááºáá»ááºááᯠááŒááá±á¬ááŒá±á¬áá·áº áááºážááẠááá·áºáá°áááºáá»ááºážááŒá
áºáá¬ááẠá¡ááœááºáá±á¬ááºážáá±á¬ ááŒááºááœááºážáá
áºáá¯ááŒá
áºáááºá áá¯ááºáááºážá
ááºáá
áºáá¯á
á®á¡ááœáẠá€áá¯ááºáááºážá
ááºááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠáá±á¬áºááŒááá·áº áá®ážááŒá¬ážá
á¬ááŒá±á¬ááºážáá
áºáᯠááŸááááº- áááºááá·áº host áá»áááºáááºááŸá¯á០ááŒá¯áá¯ááºáá²á·ááŒá±á¬ááºážá áááºááá·áºá¡áá¯á¶ážááŒá¯áá°á¡á±á¬ááºááœááºá áááºááá·áºá¡áááºá¡á±á¬ááºááœááºá ááœá±áá±ážááœá±áá°á
áááºáá»áááºá áááºááŸááá¯ááºáá±á¬ááºáá±ááá·áº áá±á¬ááºážááá¯áá»ááºá áááºááá·áºáá±á¬ááºážááá¯áá»ááºááᯠáá±á¬ááºáá¯á¶ážáá¯ááºáá±á¬ááºáá²á·áááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠstat á¡ááœááºááᯠá¡áá¯á¶ážááŒá¯á áá¯á¶ážá
áœá²áá°áá¡ááŒá±á¡áá±ááᯠá¡áá²ááŒááºááá¯ááºáá«áááºá ááŸáá¯ááºážáááŒá±á¬ááá»áŸááºá áá»áœááºá¯ááºááá¯á·ááẠá€á¡ááœááºááŒáá·áº á¡á¯ááºá
á¯ááœá²á·ááá¯ááºááŒá®áž áá±áá¬áá±á·á
áºááœáẠáááºááŸáááŸáááá·áº ááááºážááá¬ááºážáá»á¬ážááŸáá·áº áá±áá¬áá±á·á
áºááœáẠá€ááááºážááá¬ááºážáá«áá±á¬ áá»áááºáááºááŸá¯á¡áá±á¡ááœááºááá¯á·ááᯠááá°ááá¯ááºáááºá ááŒá®ážáá±á¬á· áááŸáááŒá®ážáá¬áž áá¶áá«ááºááœá±ááᯠáá»áœááºá¯ááºááá¯á·áá²á· á
á±á¬áá·áºááŒáá·áºáá±á·áá¬áá±ážáᶠáá±ážááá¯á·ááá¯ááºááŒá®áž áááºážááá¯á·ááᯠá¡ááŒá±áá¶á ááááºáá»á¬ážááᯠáá±ážááœá²ááá¯ááºáá«áááºá
ááœá±áá±ážááœá±áá°áááŒá¬áá»áááºááᯠá¡áá²ááŒááºáááºáááºáž á¡áá±ážááŒá®ážáá«áááºá áá±áá¬áááºáááŒá¬áá»áááºááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáááºáᯠáá»áœááºá¯ááºááŒá±á¬áá¬ážááŒá®ážááŒá
áºáá±á¬áºáááºáž á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠáá°áá®áá±á¬áááºážááŒáá·áº á¡áá²ááŒááºáá«áááºá xact_start ááŸáá·áº query_start á¡ááœááºáá»á¬áž ááŸááá«áááºá ááŒá±á¬ááá»áŸáẠáááºážááá¯á·ááẠááœá±áá±ážááœá±áá°á á
áááºáá»áááºááŸáá·áº áá±á¬ááºážááá¯áá»ááºá á
áááºáá»áááºááᯠááŒááááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááŸáá¡áá»áááºáá¶ááááºááá¯ááŒáááŒá®áž ááœá±áá±ážááœá±áá°ááᯠáá¯ááºááŒá®áž á¡áá»áááºáá¶ááááºááᯠáá±á¬ááºážááá¯ááá·áº now() áá¯ááºáá±á¬ááºáá»ááºááᯠááá°áá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááœá±áá±ážááœá±áá°ááŒá¬áá»áááºá áá±á¬ááºážááá¯áá»ááºáááŒá¬áá»áááºááᯠáááŸááá«áááºá
ááŸááºáá»á¬ážáá±á¬ á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠááŒááºáá«áá áááºážááá¯á·ááᯠááŒá®ážá¡á±á¬áẠáá¯ááºáá±á¬ááºááá·áºáááºá OLTP load áá áºáá¯á¡ááœááºá ááŸááºáá»á¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááẠ1-2-3 áááá áºááẠááá¯áá±ááŒá®ááŒá áºáááºá. OLAP áá¯ááºáááºážáá¬áááºá¡ááœááºá ááŸááºáá»á¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááẠáá¯á¶ááŸááºááŒá áºáá±á¬áºáááºáž ááŒá®ážááŒá±á¬ááºááẠááŸá áºáá¬áá®ááẠááá¯ááŒá¬áá«áá áááºážááẠáá áºáá±áá¬áá¬ááœáẠááœá²áá»á±á¬áºáá±ááá·áº ááá¹ááá¬áá áºáá¯áááºáž ááŒá áºáááºá
áá±á¬ááºáááºáá»á¬ážááẠáá±áá¬áá±á·á
áºááá¯á· áá»áááºáááºááŒá®ážáááºááŸáá·áºá áááºážááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá±áá¬ááŸáá·áº á
áááºáá¯ááºáá±á¬ááºáááºá áááºážááá¯á·ááẠááá¬ážáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááŒááŒá®áž ááá¬ážááŸáá±áá¬ááá°ááẠá¡ááœáŸááºážááááºážáá»á¬ážááᯠááá°ááŒáááºá ááá¯á·á¡ááŒáẠáá±á¬ááºáááºáá»á¬ážááẠá€áá±áá¬ááŸáá·áº áááºáá²á·ááá¯á· áá¯á¶á·ááŒááºáá¯á¶ááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáá«áááºá
áá»áœááºá¯ááºááá¯á·áá¡áá¯ááºáááºá¡á¬áž á¡áá²ááŒááºáááºááŸáá·áº áááºááá·áºááá¬ážáá»á¬ážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠ"á¡áá°áá¯á¶áž" ááᯠá¡ááŒááºážáá»ááºážáá¬ážáááºááẠááá¯á¡ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠááŒááºáááºáá±á¬ SSD ááá¯ááŸá±á¬ááºááŸá¯áá»áá¯ážááœáẠ"hot" ááá¬ážáá»á¬ážááᯠáá±áá¬áá»ááá¯ááá·áº á¡ááŒá±á¡áá±áá»á¬ážááœáẠáááºážááᯠááá¯á¡ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·á¡áá»áááºá¡ááŒá¬ááŒá®ážá¡áá¯á¶ážáááŒá¯áá²á·áá±á¬ áá±á¬áºááœááºážáááºááá¬ážá¡áá»áá¯á·ááᯠ"á¡á¡á±áž" áá±á¬áºááœááºážááá¯ááºá¡áá»áá¯á·ááá¯á· SATA áááá¯ááºáá»á¬ážáá¶ááá¯á· ááœáŸá±á·ááá¯ááºááŒá®áž áááºážááá¯á·ááᯠááá¯áá±áá¬ááœáẠáá±ááá¯ááºááœáá·áºáá±ážáá«á áááºážááá¯á·ááᯠááá¯á¡ááºáááᯠáááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááºááŒá áºáááºá
áá¯ááºáá±ááŸá¯áá»á¬ážááŸáá·áº á¡áá¯á¶ážáá»ááŸá¯áá»á¬ážááŒá®ážáá±á¬áẠááœá²ááœá²áá»ááºáá»á¬ážááᯠááŸá¬ááœá±áá¬ááœááºáááºáž á¡áá¯á¶ážáááºáááºá ááá±á¬áá»ááºááẠá¡ááºá¹áá«áááºá¡áá áºá¡áá»áá¯á·ááᯠáá¯ááºááŒááºááá¯ááºááŒá® ááá¯ááŒáá«á áá¯á·á á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá±á·á áºááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºá¡áá áºáá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠááá¬ážá¡áá¯á¶ážááŒá¯ááŸá¯ááááºáá»á¬ážááᯠáá±ážááœá²áá«áá á€ááááºáá»á¬ážááœáẠá€ááœá²ááœá²áá»ááºáá»á¬ážááᯠá¡ááœááºááá° ááááŸáááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááá¯ááºáá±á«ááºááœá²ááŒááºážááᯠá¡ááºááááºáá¯ááºáá« ááá¯á·ááá¯áẠáááºááá¯ááºááᯠáá»ááºáá«á á¡ááœááºááŒááºáá¬áá«áááá·áºáááºá
"floating" á á¬áááºážá¡ááºážáá»á¬ážááœáẠááœá²ááœá²áá»ááºáá»á¬ážááá¯áááºáž ááŸá¬ááœá±ááá¯ááºáááºá áá¬ááá¯ááá¯ááá¯áá¬áá²? PostgreSQL ááœáẠá¡ááœááºá¡á¬ážáá±á¬ááºážááŒá®áž á¡ááœááºáá±á¬ááºážááœááºáá±á¬ query planner áá áºáá¯ááŸááááºá ááŸáá·áº developer áá»á¬ážáááºáááºážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœááºá¡áá»áááºáá»á¬ážá áœá¬ááá¯ááŒáŸá¯ááºááŸá¶áá¬ážáááºá áá°áááºááá¯á¡áá¯ááºáá¯ááºááá²á áá±á¬ááºážááœááºáá±á¬á¡á á®á¡á á¥áºáá»á¬ážááŒá¯áá¯ááºáááºá¡ááœáẠPostgreSQL ááẠá¡áá»áááºáá¬ááá áºáá¯ááŸáá·áºáá áºáá¯ááŒá¬ážáá¬áááœáẠááá¬ážáá»á¬ážá¡ááœááºáž áá±áá¬ááŒáá·áºáá±ááŸá¯ááá¯ááºáᬠá á¬áááºážá¡ááºážáá»á¬ážááᯠá á¯áá±á¬ááºážáá«áááºá á€á¡áá¬áá»á¬ážááẠá¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážáááºááá¯ážáá»á¬ážááŒá áºáááº- áá áºáá°áá°ážááŒá¬ážáá±á¬áááºááá¯ážáá»á¬áž á ááá¬ážááŸá NULL ááá¯ááºáá¬á¡áá»ááºá¡áááºáá»á¬ážá á¡áá»ááºá¡áááºá¡áá»á¬ážá¡ááŒá¬ážá
á€á á¬áááºážááá¬ážáá»á¬ážááᯠá¡ááŒá±áá¶á á¡á á®á¡á ááºáá±ážááœá²áá°ááẠá á¯á¶á ááºážáá±ážááŒááºážáá»ááºáá»á¬ážá áœá¬ááᯠáááºáá®ážáá±ážáᬠá¡áá±á¬ááºážááœááºáá¯á¶ážá¡áá¬áá áºáá¯ááᯠááœá±ážáá»ááºáᬠá á¯á¶á ááºážááŸá¯ááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºáááºááŸáá·áº áá±áá¬ááŒááºáá±ážáááºá¡ááœáẠá€áá±ážááŒááºážááŸá¯á¡á á®á¡á ááºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
á á¬áááºážá¡ááºážáá»á¬áž âfloatâ ááŒá áºááœá¬ážáááºá á¡áááºá¡ááœá±ážááŸáá·áº ááá¬ááá±áá¬ááẠááá¬ážááœáẠáá áºáááºážáááºážááŒáá·áº ááŒá±á¬ááºážáá²ááœá¬ážáá±á¬áºáááºáž á á¬áááºážááá¬ážáá»á¬ážááᯠáá±á¬ááºáá°ááŒááºážáááŸááá«á ááŒá®ážáá±á¬á· ááœá²á·áá¬ážáá²á· á¡á á®á¡á á¥áºááœá±á á¡ááá·áºáá±á¬áºáá¯á¶ážááŒá áºááŸá¬ááá¯ááºáá°ážá ááá¬ážáá»á¬ážááá¯á¡ááŒá±áá¶á áá»áœááºá¯ááºááá¯á·áá¡á á®á¡á ááºáá»á¬ážááẠá á¯áá±á¬ááºážáá¬ážáá±á¬á á±á¬áá·áºááŒáá·áºááŸá¯á¡áá±á«áºá¡ááŒá±áá¶á á¡ááá·áºáá±á¬áºáá¯á¶ážááŒá áºáááºááá¯áá«áá á€ááœá²ááœá²áá»ááºáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá¯ááºáááºááŒá áºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá áºáá±áá¬áá¬ááœáẠáá±áá¬ááẠá¡áááºá¡ááœá±ážá¡á ááŒá±á¬ááºážáá²ááœá¬ážááŒá®áž á¡ááœáŸááºážá¡á á¬ážá ááá¬ážááŸáááá·áº ááá·áºáá²ááŒááºáááºážááŸá¯ááᯠá áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá ááá¯ááá¯áááºááŸá¬á á¡áááºá query áá áºáá¯ááẠá¡áááºáž 100 áá¬ááŒááºáááºááá¯á¡ááºáá«á (100 ááá·áºáááºáá»ááºááŸááááº)á ááá¯á·áá±á¬áẠá€áá±ážááœááºážá¡ááœáẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ááŸá¬ááœá±ááŸá¯ááᯠáá¯ááºáá±á¬ááºáááºááŒá áºáááºá áááºážááẠá¡ááŒá²áááºáž á áœááºážáá±á¬ááºáááºá¡áá±á«áº á¡ááœááºááá¯ážááœá¬ážáá±á¬ áááºáá±á¬ááºááŸá¯ááŸááááºá
áá«ááᯠá á±á¬áá·áºááŒáá·áºááŸá¯ááŸá¬ ááœá±á·ááá¯ááºáááºá ááŒá®ážáá±á¬á· áá®áá±ážááœááºážááᯠááŒáá·áºááŒá®ážá á¡á²áá«á¡ááœáẠááŸááºážááŒáá»ááºáá áºáᯠáá¯ááºáá±á¬ááºáá«á á á¬áááºážááá¬ážááœá± á á¯áá±á¬ááºážáá«á á¡ááá¯á¡ááœáŸááºážá¡áá áºáá áºáᯠáááºáá±á¬ááºáá«á áá®ááŒá¿áá¬ááᯠáá¯á¶á·ááŒááºááŒá®ážáá¬ážáá«á á¡á²áá«ááŒá±á¬áá·áº á¡áá±ážááŒá®ážáááºá
á
á±á¬áá·áºááŒáá·áºááŒááºážááá±á¬ááºáááºá¥ááá¬á á¡áááºážáá¬áááºááŒá®ážáá²á·áá°ááá¯áá±á¬á· áá°áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá áá°á·ááᯠá¡ááá¡ááŸááºááŒá¯áááºááá¯á· áááºáá«áááºá áá°ááá¯á·áá²á· ááá±á¬áá»ááºááœá±ááŸá¬ áááºáá°ááœá±áá¯á¶ážáá²á
ááááºáá»á¬ážá áœá¬ááŸááááºá ááŸáá·áº bytes ááᯠá ááºážáá¯á¶ážááŸá¯á¡ááŒá ẠááœáŸááºááŒáááºá ááá¯ááá¯áááºááŸá¬ áááẠ5 áá¯ááŸááááºá áááºážááá¯á·ááŸá¬ áá±áá¬ááá·áºááœááºážááŒááºážá áá±áá¬ááœááºážáá¶ááŒááºážá áá±áá¬áá»ááºáá áºááŒááºážá áá±áá¬ááá°ááŒááºážááŸáá·áº áá±áá¬ááŒááºááŒááºáž ááá¯á·ááŒá áºáááºá áá°áá áºááá¯ááºážáá¬ááŸá¯ááŸá¬ ááá¯ááºáá»á¬ážááŒá áºáááºá ááá¯á·áá±á¬áº PostgreSQL ááœááºááááºážááááºážá¡áá»ááºá¡áááºáá»á¬ážááẠtuple (á¡áááºážáá»á¬áž) ááœááºá¡áá»ááºá¡áááºáá»á¬ážááá¯ááŒááºáá±ážáááºááŸá¬ááŒá áºáááºá ááá¯á·á¡ááŒááºá á€ááááºáá»á¬ážááẠáááºááá¯ááºáááºážáááºááᯠá¡ááŒáááºáá»á¬ážá áœá¬á á¡ááŒáááºáá»á¬ážá áœá¬ áá»áŸá±á¬á·ááœááºááẠá¡ááœááºáá±á¬ááºážááœááºáá±á¬ áááºážáááºážááŒá áºáááºá á¡ááŒá±á¬ááºážááŸá¬ tuple áá áºáá¯ááẠbyte ááá¯ááºáá«á tuple ááẠá á¬ááŒá±á¬ááºážáá áºáá¯á áááºážááẠáá»á¬ážá áœá¬áá±á¬ bytes ááŒá áºááŒá®áž áááºážááẠá¡ááŒá²áááºáž ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ á¡ááŸááºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ tuples ááᯠá¡áá¯á¶ážááŒá¯á bytes ááŒáá·áº workload ááᯠááœááºáá»ááºááŒááºážááẠáááºááœá±á·ááá»áá±á¬ á¡áá¯áẠááá¯á·ááá¯áẠá¡ááœááºáááºáá²áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áááºááẠáááºááŸáºáá¯áẠááá¯á·ááá¯áẠáááºáááºáá¬ážáá±á¬ á á±á¬áá·áºááŒáá·áºá á áºáá±ážááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á áááºážááẠááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºááŒá±á¬ááºáž áá¬ážáááºááŒá®áž ááá·áºá¡á¬áž ááŸááºáááºá áœá¬ á¡áá²ááŒááºáá¬ážáá±á¬ áá±áá¬ááᯠááŒááºáá±ážááŒá±á¬ááºáž á¡ááŒá²áááºáž á¡áá±ážááŒá®ážáá«áááºá
á€ááá¬ážáá»á¬ážááœáẠá
á¬áááºážá¡ááºážáá»á¬ážááᯠáááºááá¯á·ááá°ááááºáááºážá á€áááºááœááºáá»ááºá¡ááœááºá PostgreSQL ááœáẠá¡áá»áá¯á·áá±á¬á¡ááŒááºáá»á¬ážááŸááááºá á¡ááá ááá±á¬á· á¡ááŒááºáá«áá²á
á¡áááºáá±á¬áºááŒáá« á¡ááœááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá·áºááœááºážááŸá¯áá»á¬ážá á¡ááºááááºáá»á¬ážááŸáá·áº áá»ááºááŸá¯á¡áá±á¡ááœááºááᯠááá·áºááŸááºážááá¯ááºáá«áááºá áá»áœááºá¯ááºá¡áá¯á¶ážááŒá¯áá²á·áá±á¬ áááºááŸáºáá¯ááºáááá°áá¬ááẠá¡áá¯ááºáááºáááá¹ááá¬áá»á¬ážááᯠá¡áá²ááŒááºááẠá€á¡ááœááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¯á·ááᯠáááºáá±á¬ááºááá¯ááºáááºá áá«áá±ááá·áº á¡á²áá«ááœá±á tuples ááá¯ááºáá² bytes ááŒá áºáá²á·á¡ááœáẠbytes áá²á· áá¯ááºááá¯á·áááá°ážááá¯áᬠááŸááºáá¬ážáá¬ážááá·áºáá«áááºá
á€áá±áá¬ááá¯á¡ááŒá±áá¶á áá»áœááºá¯ááºááá¯á·ááẠTopN ááá¬ážáá»á¬ážááá¯áááºáá±á¬ááºááá¯ááºáááºá á¥ááᬠTop-5á Top-10á ááá¯á·á¡ááŒáẠá¡ááŒá¬ážá¡áá¬áá»á¬ážááẠááŒááºáááºá¡áá¯á¶ážááŒá¯áá¬ážááá·áº á á¬ážááœá²áá°áá»á¬ážááᯠáááºááŒá±áá¬áá¶ááá¯ááºáááºá á¥ááá¬á ááá·áºááœááºážáááºá¡ááœáẠ"áá°" ááá¬áž á áá¯á ဠTopN ááá¬ážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá¯ááºáááºážáá¬áááºááᯠá¡áá²ááŒááºááŒá®áž áááºááá·áºáá¯ááºááŒááºááŸá¯á á¡ááºááááºáá»á¬ážááŸáá·áº ááŒáá·áºáá»ááºááŸá¯áá»á¬ážááŒá®ážáá±á¬ááºááœáẠá¡áá¯ááºáá»áááºááᯠá¡áá²ááŒááºááá¯ááºáá«áááºá
áá áºáá«áá áºáá¶ááœáẠdeveloper áá»á¬ážááẠá¡ááºá¹áá«áááºá¡áá áºááᯠáá¯ááºááœáŸááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááá¬ážáá¡ááœááºá¡á á¬ážááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážááŒá®áž áá»áœááºá¯ááºááá¯á·áááá¬ážáá»á¬ážááẠáá±áá¬ááá¬áááᯠáááºáá±á¬ááºážááá·áºááẠáá¯á¶ážááŒááºáá¬ážáá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·áááá¬ážáá»á¬ážááẠáááºážááá¯á·á ááŒá®ážáá¬ážáá±á¬á¡ááœááºá¡á á¬ážááœáẠáá±á¬ááºážáá¬ážáá¬áááºá áá±áá¬áá±á·á áºáá¡ááœááºá¡á á¬ážááá¯ááááá¯ááºá á±áááºá ááá¯ááá¯á·áá±á¬ááá á¹á áá»á¬ážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡á¶á·á¡á¬ážááá·áºá áá¬áá»á¬ážáááºá
á¡áᯠáááºážá¡ááœáẠáá±ážááœááºážáá±ážáá áºáá¯á áááºááá±áá¬áá±á·á áºáá¬áá¬ááœáẠload ááá¯áááááŒá¯áááá±á¬á¡áá«áááºááá·áºáá±ážááœááºážáá±á«áºáá¬ááááºážá áá±á¬ááºáá±ážááœááºážá áá¬áá²á
áá«áá±ááá·áº ááááºáá±á¬á· áá±ážááœááºážá á¡á±á¬ááºáá«á¡ááá¯ááºáž ááŒá áºáá«áááºá áááºááá·áºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠáááºááá¯ááŒá áºá á±ááááºážá ááá¯ááá¯áááºááŸá¬ áááºááŒá±á¬áá·áºááŒá áºáááá·áº áá¯ááºáááºážá ááºáá»á¬ážááᯠááŒáá·áºááẠá áááºáááºá á¬ážááœááºáááŸááá«á á¡áááºá áááºáá¶áá°ááœáẠáá±áá¬áá±á·á áºáá áºáá¯ááŸááá»áŸáẠáá±áá¬áá±á·á áºááẠááá¯áá±áá¬ááœáẠáááºáááºáá±ááŒá®áž áááºážááœáẠáá±áá¬áá±á·á áºáá»á¬ážááá¯áᬠáááºááŸá¬ážáá áºáááºááŸá¬ áááºááŸá¬ážáá«áááºá áá»áœááºá¯ááºááá¯á· Top ááá¯ááœáá·áºáá«áá áá áºáá¯áá¯áá¯ááºáá±á¬ááºáá±ááá·áº PostgreSQL ááœáẠáá¯ááºáááºážá ááºáá»á¬ážá á¬áááºážááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááá«áááºá áá°ááá¯á·áá¯ááºáá±áá¬ááœá±ááᯠááááºáááºážááá± ááŸááºážááŸááºážáááºážáááºáž áááááá«áá°ážá
ááá¯á·ááŒá±á¬áá·áºá á¡ááŒáá·áºáá¯á¶áž load ááŒá áºá á±áá±á¬ á¡ááá¯áá«áá±ážááœááºážáá»á¬ážááᯠáááºááŸá¬ááœá±áááºááá¯á¡ááºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº tuning queries ááẠá ááºážáááºážá¡ááá¯ááºáž PostgreSQL ááá¯á·ááá¯áẠoperating system configuration ááᯠáá»áááºááŸáááŒááºážááẠá¡ááŒááºááá¯áá±ážáááºá ááá¯á·ááá¯áẠhardware ááá¯áá»áááºááŸáááŒááºážáááºááŒá áºáá«áááºá áá»áœááºá¯ááºáááá·áºááŸááºážáá»ááºá¡áá á€áááºááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº 80-85-90% ááŒá áºáááºá ááŒá®ážáá±á¬á· áá«á ááá¯ááŒááºáááºá ááœá²á·á ááºážáá¯á¶á¡ááŒá±áá¶á¥ááá±ááᯠááŒááºáááºá á¡áá°ážáááŒáá·áº áá±áá¬áá±á·á áºááᯠááŒááºáááºá áááºááááá«á ááá¯á·ááá¯áẠáá¬á·ááºáá²ááºááá·áºáá«á ááŒááºáááºá áááºááẠá¡áá»áááºááá¬ážááẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯ááᯠááŒááºááẠááá¯ááá¯ááŒááºáááºáááºá áá±ážááœááºážááᯠáá áºáá±áá¬áá¬ááœáẠááŒááºáá±ážááẠááá¯á·ááá¯áẠá€áá±ážááŒááºážáá»ááºá០ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ááááºáááŸáááẠá¡ááœáŸááºážáá áºáá¯ááá·áºááẠááœááºáá°áááºá
ááá¯á·ááŒá±á¬áá·áº áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸáá·áº áááºážááá¯á·á áá¯á¶áá±á¬ááºááŸá¯ááᯠá
á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáá«áááºá á
á±á¬áá·áºááŒáá·áºááŒááºážááá±á¬ááºáááºá¥ááá¬ááá¯ááŒáá·áºááŒáá«á
áá¯á·á ááá¯á·á¡ááŒáẠá€áá±áá¬ááœááºáááºáž á¡ááœááºáá±á¬ááºážááœááºáá±á¬ á
á±á¬áá·áºááŒáá·áºááŸá¯ ááŸááá±áá¯á¶ááááºá áá¯á¶áá°ááœá¬ážááŒááºážááá¯ááºáᬠá¡áá»ááºá¡áááºáá»á¬áž á ááŒááºáááºážááŸá¯á ááááºááá¯á·ááŒááºáž á á¡áááºážá¡ááŒá
Ạá¡áá¯á¶ážáá»ááŸá¯ááá¯ááºáᬠá¡áá»ááºá¡áááºáá»á¬áž ááŸááá«áááºá á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá±á¬áºáááºáž áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááœáẠá¡áá»ááºá¡áááºáááŸááá«á áá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á
áºááœáẠáááºááá·áºáá±ážááœááºážáá»á¬ážáá¯ááºáá±á¬ááºáá±ááááºážá áááºážááá¯á·áá¯ááºáá±á¬ááºáá±ááá·áºá¡áá»áááºá á€áá±ážááœááºážáá»á¬áž áááºáá»áŸááŸááááºááᯠáááŸááºážáááºážáá«á áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á á
á±á¬áá·áºááŒáá·áºááŸá¯ááœáẠá€á¡áá»ááºá¡ááẠá¡ááŒá²ááŸáááẠááá¯á¡ááºáá«áááºá
á€á¡áá»ááºá¡áááºáááẠpg_stat_statements module ááá¯áá¯á¶ážááá¯ááºáááºá áááºážááá¯á¡ááŒá±áá¶á áááºááẠááááºá¡áá»áá¯ážáá»áá¯ážááᯠáááºáá±á¬ááºááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá±ážáá»á¬ážáá¯á¶ážáá±ážááœááºážáá»á¬áž á ááá¯ááá¯áááºááŸá¬ áááŒá¬áááá¯ááºáá±á¬ááºáá±á¬ queries áá»á¬ážáá±á«áºááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºáááá¯ááºáááºá áá¯ááºáá²á·á ááŒáá·áºáá»ááºááŒá®ážáá±á¬áẠáááºážááá¯ááŒáá·áºááŸá¯ááŒá®áž áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááœáẠááŒáá·áºáááºáá¬ááŒááºážááŸááááŸá áá¬ážáááºáááºááŸá¬áááºáž á¡ááœááºá¡áá¯á¶ážáááºáá«áááºá
á¡ááŸááºáá¯á¶ážáá±ážááœááºážáá»á¬ážááᯠáááºá á±á¬áá·áºááŒáá·áºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ ááŒá®ážááŒá±á¬ááºááẠá¡ááŒá¬áá¯á¶ážá¡áá»áááºáá°áá±á¬ áá±ážááœááºážáá»á¬ážááŒá áºáááºá áááºážááá¯á·ááẠáááá¯áááºáá¬áá±á«áºááœáẠá¡áá¯ááºáá¯ááºááŒá®áž I/O ááᯠá á¬ážáá¯á¶ážááŒáááºá á¡ááœááºá á¯á á¯áá±á«ááºáž_á¡áá»áááºá áá»ááºážáá»áŸ_á¡áá»áááºá blk_write_time ááŸáá·áº blk_read_time ááá¯á·ááá¯áááºáž á¡áá²ááŒááºááá¯ááºáááºá
á¡áááºážá¡ááŒá áºá¡áá¯á¶ážááŒá¯ááŸá¯ááá¯ááºáᬠáááºááŸááºáá»ááºáá»á¬ážááœáẠá¡áá±ážáá¯á¶ážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡áá²ááŒááºááá¯ááºááŒá®áž áá áºááŸáááºáá±á¬á ááŸááºáá¬ááºááŒáá·áº á¡áá¯ááºáá¯ááºáá±á¬ ááá¯á·ááá¯áẠá¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áº á á¬áá±ážááŒááºážáá»áá¯áž áááºáá®ážáá±ážááá¯ááºáááºá
áááºáááºáá±á¬áá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· á¡áá²ááŒááºááá¯ááºáá«áááºá á€á¡áá¬áá»á¬ážááẠá¡áááºážá¡áá»á¬ážá¡ááŒá¬ážááᯠááŒááºáá±ážááá·áº áá±ážááœááºážáá»á¬ážááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááẠááá·áºáááºáá»ááºáá áºáá¯áááºááŸááºááẠáá±á·ááœá¬ážááá·áº áá±á¬ááºážááá¯áá»ááºá¡áá»áá¯á· ááŒá áºááá¯ááºáááºá áááºážááẠqueried table áá áºáá»áŸá±á¬ááºááŸá ááá¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá áºáá¯áá¯á¶áž ááá¯á·ááá¯áẠquery ááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááŒááºáá±ážáááºá
áá¬áá®ááá¯ááºáá»á¬áž ááá¯á·ááá¯áẠáá¬áá®ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áº áá±ážááŒááºážáá»ááºáá»á¬ážááá¯áááºáž á á±á¬áá·áºááŒáá·áºááá¯ááºáááºá
áá±á¬ááºááŒá®ážáá±á¬á· áá»áœááºáá±á¬áºááá¯á·ááŸá¬ áá±á¬ááºáá¶áá¯ááºáááºážá
ááºááœá± ááŸááá«áá±ážáááºá áá±á¬ááºáá¶áá¯ááºáááºážá
ááºáá»á¬ážááẠá¡áááá¡á¬ážááŒáá·áº á
á
áºáá±ážáá±ážááááºáá»á¬áž ááá¯á·ááá¯áẠá
á
áºáá±ážáá±ážááááºáá»á¬ážáá¯áááºáž áá±á«áºáááºá áááºážááá¯á·ááẠá¡ááá¯á¡áá»á±á¬áẠáá±áá¬áááºááŸáá·áº áá°ážáá°ááŸá¯ááá¯á·ááŒá
áºáááºá
á á±á¬áá·áºááŒáá·áºááŒááºážááá±á¬ááºáááºá¥ááá¬á áááºáááºááœáẠMaintenance áááºááºáá áºáá¯ááŸááááºá áááºážááá¯á·ááœá¬ážá á¡áá¯á¶ážáááºáá±á¬á¡áá¬áá áºáá¯ááá¯ááœá±á·ááŒááºáááºáá»áŸá±á¬áºááá·áºáá»ááºááŸááááºá ááá¯á·áá±á¬áº á€áá±áá¬ááœáẠáá±áá¬ááẠáááºáááºááŸá¯ááŸáá·áº á á¬áááºážá¡ááºážáá»á¬áž á á¯áá±á¬ááºážááŸá¯ á¡áá»áááºáᬠááŸááá±ážáááºá áá¬ááŸáááá¯áá«á á€á¡áá¬ááẠá¡ááœááºáá¶á·áá»ááºážáá±á¬ á¡áá»ááºá¡áááºááŒá áºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á áºááœáẠáá±á¬ááºáá¶áá¯ááºáááºážá ááºáá»á¬áž áááºááá¯á·á¡áá¯ááºáá¯ááºáá¯á¶ááŸáá·áº áááºážááá¯á·áá¡áá¯ááºá០ááŒá¿áá¬áá áºá á¯á¶áá áºáá¬ááŸááááŸáá¡ááŒá±á¬ááºáž á¡áá»ááºá¡ááẠá¡ááŒá²ááŸáááẠááá¯á¡ááºáá«áááºá
á á áºáá±ážáá±ážááááºáá»á¬ážááᯠááŒáá·áºáá±á¬á¡áá« á á áºáá±ážáá±ážááááºáá»á¬ážááẠáá áºáááºáá±á¬ á á¬áá»ááºááŸá¬áá»á¬ážááᯠááœá²áá¯ááºáá¬ážáá±á¬ ááŸááºáá¬ááºá§áááá¬á០áá áºááºááá¯á· áááºááŸá¬ážááŒá®ážáá±á¬áẠá á áºáá±ážáá±ážááááºáá áºáᯠáááºáá®ážááŒá±á¬ááºáž ááŸááºáá¬ážáá¬ážááá·áºáááºá PostgreSQL á¡áá±ážáá±á«áºá¡ááŒá±á¡áá±ááœáẠáá¯ááºááááºáááºááá·áºááœá¬ážáá«á á€á á áºáá±ážáá±ážááááºááᯠááŒááºáááºááá°áááºáá±áá¬á¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
ááá¯á·ááŒá±á¬áá·áºá "áá áºáááºáá±á¬" á á¬áá»ááºááŸá¬á¡á¬ážáá¯á¶ážááᯠdisk ááá¯á·áááºááŸá¬ážáááºá¡ááœááºá áááºá á¬áá±ážááŒááºážá¡áá»áá¯á·ááá¯ááŒá¯áá¯ááºáááºááá¯á¡ááºáááºá á ááºážáááºážá¡áá ááŸááºáá¬ááºááá¬ááá»á¬ážáá±á¬á áá áºáá»á¬ážááœááºá áááºážáááºá¡áá»á¬ážááŒá®ážááŒá áºáááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áááºááá¯á¡ááœááºáž á á áºáá±ážáá±ážááááºáá»á¬ážááᯠáááŒá¬ááááŒá¯áá¯ááºáá«áá disk á áœááºážáá±á¬ááºáááºááẠá¡ááœááºáááááá¬áá¬áá»áááºážááœá¬ážáááºááŒá áºáá«áááºá ááŸáá·áº client áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠá¡áááºážá¡ááŒá áºáá»á¬áž áá»áá¯á·áá²á·ááŒááºážá០ááŒá¯á¶ááœá±á·ááááá·áºáááºá áááºážááá¯á·ááẠá¡áááºážá¡ááŒá áºáá»á¬ážááᯠááŸááºááŒáá¯ááºááááºááŒá áºááŒá®áž áá¯ááºáá¯ááºá áœááºážá¡á¬áž áááºážáá«ážáááºá
ááá¯á·ááŒá±á¬áá·áºá pg_stat_bgwriter ááŸáááºááŸááºáá¬ážáá±á¬ááœááºáááºáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá¡á¬ážááŒáá·áºááŒá áºáá±á«áºááá·áºá á áºáá±ážáá±ážááááºá¡áá±á¡ááœááºááá¯áá»áœááºá¯ááºááá¯á·á á±á¬áá·áºááŒáá·áºááá¯ááºáááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá»áááºá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá (áá-áá -áá áááá áºá áá¬áá®áááºá¡ááœááºáž)á á¥ááá¬á á-á-á ááœáẠá á áºáá±ážáá±ážááááºáá»á¬ážá áœá¬ááŸááá»áŸáẠá€áááºááŸá¬ ááŒá¿áá¬ááŒá áºáá±ááŒá®ááŒá áºáááºá áá±áá¬áá±á·á áºááœááºááŒáá·áºááŸá¯áááºá ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááœááºááŒáá·áºáá«á áááºážááá¯á·áá»á¬ážááŒá¬ážáá±á¬á á áºáá±ážáá±ážááááºáá»á¬ážááá¯áá¬ááŒá±á¬áá·áºááŒá áºá á±ááááºážá ááŒá®ážááŒá®ážáá¬ážáá¬áž ááŸááºáááºážáááºáá¬áá»áá¯ážááœá± ááŸááá±á¬ááºážááŸáááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠworkload ááááºáá»á¬ážááᯠáá±á«ááºážááá·áºáá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº á¡áá¯ááºáá¬áááºááᯠá¡áá²ááŒááºááá¯ááºáá«ááŒá®á áá»áœááºá¯ááºááá¯á·ááẠá á áºáá±ážáá±ážááááºáá±á¬ááºáá»á¬ážááᯠááŒá¯ááŒááºááŒá±á¬ááºážáá²ááŒá®ážááŒá áºááŒá®áž áááºážááá¯á·ááẠáá±ážááŒááºážááŸá¯á áœááºážáá±á¬ááºáááºááᯠááŒá®ážááŒá®ážáá¬ážáá¬ážáááááá¯ááºá á±ááŒá±á¬ááºáž áá±áá»á¬á á±áá«áááºá
áá«ááŒá±á¬áá²á·ááá·áºá¡ááá¯ááºáž autovacuum ááá¯á·áá áºáááºááŒááºáá¬áá±á¬á·áááºááŒá áºáá±á¬ááŒá±á¬áá·áº disk ááŸáá·áº query performance ááŸá áºáá¯áá¯á¶ážááá¯á¡ááœááºááá°áá±á«ááºážááá·áºááá¯ááºáá±á¬á¡áá¬ááŒá áºáá±á¬ááŒá±á¬áá·áº autovacuum ááá¬áááá¯ááá·áºááŸááºážáááºá¡ááŒá²á¡áá±ážááŒá®ážáá«áááºá
áá±áá¬áá±á·á
áºááŸá autovacuum áá¯ááºáá¬ážá¡áá±á¡ááœáẠááá·áºáááºáá¬ážáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºážááá¯á·ááœáẠáá¯á¶ážáŠážááŸááááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá±á·á
áºááœáẠá¡ááŒá²áááºážá¡áá¯ááºáá¯ááºáá±áá±á¬ á¡áá¯ááºááá¬áž áá¯á¶ážáŠážááŸááá»áŸáẠáá»áœááºá¯ááºááá¯á·á autovacuum ááᯠconfigure ááá¯ááºáá¬ážáᯠááá¯ááá¯áááºá ááá¯ááá¯áááºááŸá¬ ááá·áºáááºáá»ááºáá»á¬ážááᯠááŒáŸáá·áºáááºáááºá autovacuum áááºáááºáá»á¬ážááᯠááŒááºáááºááŒááºáááºááŒá®áž configuration ááá¯á·áááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
áá»áœááºá¯ááºááá¯á·ááœáẠáááºááá·áº áá±áá¬áááºáá¯ááºáá¬ážáá»á¬áž ááŸááááºááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáá«áááºá áááºážááᯠá¡áá¯á¶ážááŒá¯áá°á០á
áááºááá¯ááºáááºááŒá
áºá
á± DBA ááẠááœááºáá¬ááŒá®áž áá±áá¬áááºáá
áºáá»áá¯ážááᯠááá¯ááºááá¯ááºá
áááºáá¯ááºáá±á¬ááºááŒá®áž áááºážááẠáááºááᯠáááºáá®ážáá±ážáá«áááºá áá»áœááºáá±á¬áºááá¯á·ááŸá¬ ááŒá¿áá¬áá
áºáá»áá¯ážááŸááááºá ááá¯á·ááá¯áẠá€áááºááŸá¬ ááœá±ááœáŸá²áá±á¬ááºáá¬ááᯠáááºá¡á°ááŒá¯ááºááá·áº áá±áá¬ááẠá¡áá±á¡ááœááºááŒá
áºáááºá PostgreSQL á á¡áá»áá¯á·áá±á¬áá¬ážááŸááºážáá»á¬ážá¡ááœáẠáááºážááá¯á·ááẠá¡ááœááºáá±ážáá¶áá±á¬ áá±áá¬áááºáá»á¬ážááŒá
áºáááºá ááŒá®ážáá±á¬á· áá°ááá¯á·á ááá¬ážáá
áºáá¯áá¯á¶ážááᯠáááºááŒá®áž á¡á²áá®ááá¬ážáá²á áá¯á¶ážá¡á¬ážáá¯á¶ážááᯠá
áááºáááºáá²á·á¡ááœáẠá
áœááºážáá±á¬ááºáááºááᯠá¡ááœááºááá° áá±á«ááºážááá·áºááá¯ááºáá«áááºá
áá±áá¬áááºáááŒá¬áá»áááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá»áááºá¡ááŒá¬ááŒá®ážáááºáááºáá±áá±á¬ ááŒá¬ááŸááºáá¶áá±áá¬áááºáá»á¬ážááŸááá«áá ááá¯ááá¯áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áááºááœá²á·á ááºážáá¯á¶ááᯠáááºáá¶á¡á¬áá¯á¶á áá¯ááºááẠááá¯á¡ááºááŒá®áž áááºážááááºáááºáá»á¬ážááᯠááŒááºáááºá ááºážá á¬ážááẠááá¯á¡ááºáááºáᯠááá¯ááá¯áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá±áá¬áááºááẠá á¬ážááœá²áá±á«áºááœáẠá¡áá»áááºááŒá¬ááŒáá·áºá áœá¬ (á-á áá¬áá®) á¡áá¯ááºáá¯ááºáá±á¬á¡áá«ááœáẠá¡ááŒá±á¡áá±áá áºáᯠááŒá áºáá±á«áºáá¬ááá¯ááºáá±á¬áºáááºáž áá±áá¬áááºá¡áá¯ááºáá¯ááºáá±áá»áááºá¡ááœááºáž á¡áááºážááá¯ááºáá±áá¹áá¬á¡áá»á¬ážá¡ááŒá¬ážááẠá á¬ážááœá²áá±á«áºááœáẠáááºáá¶á á¯áá¯á¶áá¬áá²á·áááºá áá±áá¬ááẠááŒá®ážáá¬áá²á·á áá°á áá®á á¬ážááœá²ááᯠáá±á¬ááºáá áºááŒááẠáá¯ááºá á¯ááºááá¯á· ááá¯áááºá ááŒá®ážáá±á¬á· á¡áá¯á¶ážáá²á· áá±áá¬áááºáá áºáá¯ááŒá áºáá²á· á¡ááŒá±á¡áá±áá áºáá¯ááᯠáá±á¬ááºááœá¬ážáááºá á€ááá á¹á ááœááºá áá±áá¬áááºááẠáááºážááá¯ááºáááºážááᯠáááá¯ááºááœááºááá¯ááºáá²á áááºážááœáẠá¡áá¯á¶ážáááºáá±á¬áá±áá¬ááá¬áááẠá¡áá°áá°áááºááŒá áºáá±á¬áºáááºáž ááá¬ážáá»á¬ážááẠáááŒááºážááŒááºáž áá±á¬ááºážáá¬ážáá¬áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áá¬áá¡áááºááŒá¬ áá±áá¬áááºá¡ááœááºážááœááºá áá»áœááºá¯ááºááá¯á·ááẠááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠá¡ááŒá²ááŒáá·áºááŸá¯ááŒá®áž áááºážááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááŒáá¯ážá á¬ážáá±á¬áºáááºáž áá áºáá»áááºáááºážááœáẠáá¯á¶ážá áœá²áá°áá»á¬ážá áá±á¬ááºážááá¯ááŸá¯áá»á¬ážá á áœááºážáá±á¬ááºáááºááᯠáááááá¯ááºá á±áááºá¡ááœáẠááŒá áºáááºá
ááá¯á¡áá»áááºááœáẠstreaming replication ááá«áá±á¬ PostgreSQL áááºáááºááŒááºážááŸá¬ áááºááœá±á·ááœááºáááŸááá«á áá°ážáá°ááŒááºážááá¯áááºááŸá¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá¬á áá¬á០áá¯á¶áá°áá áºáá¯ááá¯á· ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá¯ááºáááºážá ááºááŒá áºáááºá
PostgreSQL ááœáẠáá°ážáá°ááŸá¯ááŸááºáááºážáá áºáá¯ááŸáá áºááá·áº áá°ážáá°áá±á¬áºááŒáá«áááºá wizard ááẠááœá±áá±ážááœá±áá° ááŸááºáááºážáá áºáá¯ááᯠáá¯ááºáá±ážáááºá ááœá±áá±ážááœá±áá° ááŸááºáááºážááẠáá¯á¶á á¶áá°ááá¯á· ááœááºáááºáá»áááºáááºááŸá¯á០ááŒááºáááºážááœá¬ážááŒá®ážáá±á¬áẠáááºážááᯠáá¯á¶á á¶áá°áá±á«áºááœáẠááŒááºáá¯ááºáá±ážáá«áááºá ááá¯ážááŸááºážáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá pg_stat_replication ááŒááºááœááºážááᯠáá°ážáá°ááŒááºáž áá±á¬ááºáá»ááŒááºážááᯠá á±á¬áá·áºááŒáá·áºááẠá¡áá¯á¶ážááŒá¯áá«áááºá áá«áá±ááá·áº á¡áá¬á¡á¬ážáá¯á¶ážá áá°ááá²á· áááá¯ážááŸááºážáá«áá°ážá áá¬ážááŸááºáž 10 ááœááºá ááŒááºááœááºážááẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá áœá¬ ááŒá¯áá¯ááºáá²á·áááºá ááááŠážá áœá¬á á¡áá»áá¯á·áááºáááºáá»á¬ážááᯠá¡áááºááŒá±á¬ááºážáá¬ážáááºá á¡áá»áá¯á·áá±á¬ ááœááºáááºáá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá áá¬ážááŸááºáž 10 ááœááºá á áá¹ááá·áºááá¯ááºážá¡ááœááºáž áá¯á¶áá°áá°ážáá»ááŒááºážááᯠááá·áºááŸááºážááá¯ááºá á±ááá·áº á¡ááœááºáá»á¬áž áá±á«áºáá¬áááºá á¡áááºážá¡áááºááŒá±áááºá áá¬ážááŸááºáž 10 áááá¯ááºáá®á áá°ážáá°ááŸá¯ ááŸá±ážááœá±ážááŸá¯ááᯠááá¯ááºááŒáá·áº ááá·áºááŸááºážááẠááŒá áºááá¯ááºáááºá á€ááœá±ážáá»ááºááŸá¯ááẠáá¬ážááŸááºáž 10 ááœáẠáá»ááºááŸááá±áááºá ááá¯ááá¯áááºááŸá¬ áááºááẠááá·áºá¡ááœáẠááá¯á¡áááºááŒá±áá±á¬á¡áá¬ááᯠááœá±ážáá»ááºááá¯ááºááẠ- ááá¯ááºááœáẠááŸá±ážááœá±ážááŸá¯ááᯠááá·áºááŸááºážáá« ááá¯á·ááá¯áẠá áá¹ááá·áºá¡ááœááºáž ááŸá±ážááœá±ážááŸá¯ááᯠááá·áºááŸááºážááá¯ááºáááºá áá°áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá ááŸá áºáá»áá¯ážáá¯á¶ážáá¯ááºááŒáááºá
áááºááá¯á·áááºááá¯á á±áá¬áá°á replication lag ááá¯á¡áá²ááŒááºáááºá¡ááœááºá ááœá±ááœááºážááœá±áá¯ááºá á¬áááºážááááºáá±áá¬ááá¯áááºáááááºááá¯á¡ááºáááºá á€ááœá±áá±ážááœá±áá°ááŸááºáááºáž áá¬áá°ážáá»á¬ážááẠpg_stat_replication ááŒááºááœááºážááœáẠá¡ááá¡áá»ááŸááá«áááºá ááŸáá¯ááºážááŸááºááŒá±á¬ááá»áŸáẠpg_xlog_location_diff() áá¯ááºáá±á¬ááºáá»ááºááᯠá¡áá¯á¶ážááŒá¯á ááœá±áá±ážááœá±áá°ááŸááºáááºážááœáẠá¡ááŸááºááŸá áºááŸááºáá°ááá¯ááºáááºá áááºážááá¯á·ááŒá¬ážááŸá ááŒá áºááá»áœááºážáá±á«áºáá±áááᯠááœááºáá»ááºááŒá®áž ááá¯ááºááŒáá·áº áá°ážáá°ááŒááºáž áá±á¬ááºáá»ááŒááºážááᯠááá°áá«á á¡áááºážá¡áááºááŒá±ááŒá®áž ááá¯ážááŸááºážáá«áááºá
áá¬ážááŸááºáž 10 ááœááºá á€áá¯ááºáá±á¬ááºáá»ááºááᯠpg_wal_lsn_diff() áᯠá¡áááºááŒá±á¬ááºážáá²á·áááºá áá±áá¯áá»á¡á¬ážááŒáá·áº âxlogâ áá°áá±á¬ á áá¬ážáá¯á¶ážáá±á«áºáá¬ááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á¡ááŒááºáá»á¬ážááŸáá·áº á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáááºážááᯠâwalâ áááºááá¯ážááŒáá·áº á¡á á¬ážááá¯ážáá¬ážáááºá áááºážááẠá¡ááŒááºáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž ááŸá áºáá¯áá¯á¶ážá¡ááœáẠá¡áá»á¯á¶ážáááºáá«áááºá áá«á áááºážáá áºáá®ááœááºááŸá¯áá áºáá¯áá«á
ááá¯á·á¡ááŒááºá áá¬ážááŸááºáž 10 ááœáẠááŸá±ážááœá±ážááŸá¯ááᯠá¡áá°ážáá±á¬áºááŒááá·áº ááá¯ááºážáá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá áá«ááœá±á áá±ážáá¬áá±á¬ááºáá»áá¬á flush lag áá²á· replay lag ááœá±áá«á ááá¯ááá¯áááºááŸá¬ á€á¡áá¬áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááẠá¡áá±ážááŒá®ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¯á¶áá°áá°ážáá»ááŒááºáž áá±á¬ááºáá»áá±ááŒááºážááᯠááœá±á·ááŸááá«áá áááºážááẠá¡áááºááŒá±á¬áá·áº áá±á«áºáá¬ááŒá±á¬ááºážá áááºááá·áºáá±áá¬á áá¬áááºááŸáá·áº ááŒá¿áá¬ááᯠááŒá±ááŸááºážááẠááá¯á¡ááºáá«áááºá
á¡áá¬á¡á¬ážáá¯á¶ážáá®ážáá«ážááẠá áá áºááá¯ááºážáá¬ááŸá¯áá»á¬ážááŒáá·áº ááá¯ááºáá±áááºá áááºááá·áºá á±á¬áá·áºááŒáá·áºááŸá¯á áááºáá±á¬á¡áá«á áááºážááẠá áá áºááá¯ááºážáá¬ááŸá¯áá»á¬ážááŒáá·áº á áááºáááºá áááºážááẠáááá¯áááºáá¬áá»á¬ážá áááºááá¯áá®á áá²ááŸááºááŸá¯á ááœááºáááºááŸáá·áº áá áºááºááá¯á·ááᯠá áœáá·áºáá áºááŒááºážááŒá áºáááºá ááá¯á·áá±á¬áºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áº parameters á¡áá»á¬ážá¡ááŒá¬ážáááŸááá«á
á¡áááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºáž áá¯ááºáááºážá ááºááŒáá·áº á áá áºááá»ááŒá áºáá«áá ááá¯á·áá±á¬áẠdisk ááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºážááœáẠááŒá¿áá¬áá»á¬ážááŸááááºá á ááºážáááºážá¡ááá¯ááºážá á á±á¬áá·áºááŒáá·áºáá±á·áá¬ááá·áº developer áá»á¬ážááẠthroughput ááŸáá·áºáááºáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá±á«ááºážááá·áºáááºá áááºážááẠiops ááá¯á·ááá¯áẠbytes ááœááºááŸáááá¯ááºáááºá ááá¯á·áá±á¬áº áááºážááá¯á·ááẠlatency ááŸáá·áº disk devices áá»á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠáá±á·ááœá¬ážááŒáááºá á€á¡áá¬áá»á¬ážááẠáá»áœááºá¯ááºááá¯á·ááá áºáá»á¬ážáááºáá»áŸ loaded ááŸáá·áº áááºážááá¯á·áááºáá»áŸááŸá±ážáááºááᯠá¡áá²ááŒááºááá¯ááºá á±ááá·áº ááá¯á¡áá±ážááŒá®ážáá±á¬áá±á¬ááºáá»á¬ážááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááœáẠlatency ááŒáá·áºáá¬ážáá«áá áááºážááẠdisks áá»á¬ážááœáẠááŒá¿áá¬á¡áá»áá¯á·ááŸááá±áááºáᯠááá¯ááá¯áááºá áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá¯á¶ážáá»ááŸá¯ ááŒáá·áºáá¬ážáá«áá áááºážááẠdisks áá»á¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážááŒááºáž áááŒá¯áᯠááá¯ááá¯áááºá á€á¡áá¬áá»á¬ážááẠááŒááºáááºážááŸá¯ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ááá¹ááá¬áá»á¬ážááŒá áºáááºá
ááá¯á·á¡ááŒááºá á€á á¬áááºážááá¬ážáá»á¬ážááᯠááŒááºáááºá¡áá¯á¶ážááŒá¯ááá·áº áááá¯áááºáá¬áá»á¬ážá¡ááœáẠáá¯ááºáá±á¬ááºááá²á·ááá¯á· /proc ááá¯ááºá áá áºááŸáááºáž ááá°ááá¯ááºáááºá á€á¡áá»ááºá¡áááºááᯠá á±á¬áá·áºááŒáá·áºááŒááºážááœáẠá¡áááºááŒá±á¬áá·áº ááá·áºááá¬ážááŒá±á¬ááºáž áá»áœááºá¯ááºááááá«á ááá¯á·áá±á¬áºáááºáž ááá·áºá á±á¬áá·áºááŒáá·áºááŸá¯ááœáẠá€á¡áá¬ááŸáááẠá¡áá±ážááŒá®ážáá«áááºá
ááœááºáááºá¡ááºáá¬áá±á·á áºáá»á¬ážááŸáá·áº á¡áá¬ážáá°áááºá áááºáááºáá»á¬ážá ááá¯ááºáá»á¬ážááœáẠááœááºáááºááŒááºáááºážááŸá¯ááá¯ááºáᬠááááºážá¡áá»ááºá¡áááºáá»á¬áž ááŸááááºá ááá¯á·áá±á¬áº áááºážááẠá¡áá¯á¶ážáááºáá±á¬ á¡áá»ááºá¡áááºááŒá áºáá±á¬áºáááºážá latency á¡ááŒá±á¬ááºážááŸáá·áº á¡áá¯á¶ážáá»ááŸá¯ááá¯ááºáᬠá¡áá»ááºá¡áááºáá»á¬áž áááŸááá±á
á á±á¬áá·áºááŒáá·áºááŸá¯ááá¯ááºážááœáẠá¡á¬ážáááºážáá»ááºáá»á¬ážááŸááááºá áááºáááºááá¯á·áá±á¬ á á±á¬áá·áºááŒáá·áºááŸá¯áá»áá¯ážááᯠááŒá¯áá¯ááºáá±áá«á á±á áááºážááẠá¡ááŒá²áááºáž á á¶áááºááŸááºáá»ááºáá»á¬ážááŸáá·áº áááŒáá·áºáá®áá«á áááºááá¯á·áááºááá¯á á±áá¬áá°á áááºážááá¯á·ááẠááœá¶á·ááŒáá¯ážáá²á á¡ááºá¹áá«áááºá¡áá áºáá»á¬ážááŸáá·áº á¡áá¬áá áºáá»á¬ážááᯠááá·áºááœááºážáá±áá±á¬ááŒá±á¬áá·áº áá áºáá¯áá¯ááᯠááœá±ážáá»ááºááŒá®áž á¡ááŒá®ážáááºáá«á
ááŒá®ážááŒá±á¬ááºáááºá¡ááœááºá áá±ážáá¬ážáá±á¬á á¬áááºážá¡ááºážáá»á¬ážááẠáá¬ááá¯ááá¯ááá¯ááááºážá ááŒá¿áá¬áá»á¬ážááá¯ááŒá±ááŸááºážááẠáááºážááá¯á·ááᯠáááºáááºáá²á·ááá¯á·á¡áá¯á¶ážááŒá¯ááá¯ááºáááºáá°áá±á¬ á¡ááœá±ážá¡ááŒááºáá áºáᯠá¡ááŒá²ááŸáááááºá
á¡áá»áá¯á·áá±á¬ á¡áááá¡áá»ááºáá»á¬áž-
- áááŸáááá¯ááºááŸá¯ááᯠá¡ááŒá²á á±á¬áá·áºááŒáá·áºááá·áºááŒá®áž áááºááŸáºáá¯ááºáá»á¬áž ááŸáááá·áºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááẠáá±áá¬áá±á·á áºááŸáá·áº á¡á ááºááá¯ááºááŒá áºáá±ááŒá±á¬ááºáž áá»ááºááŒááºá áœá¬ á¡áá²ááŒááºááá¯ááºáá«áááºá
- ááá±á¬ááºážáá²á·áá±á¬ááºáááºááœá±ááᯠáááºáá¯ááºááŒá®áž áá áºáá»ááá¯á·á¡ááœáẠáá±á¬ááºáááºááœá±á ááá·áºáá±áá¬áá±á·á áºááŸá¬ áá¬ááœá±áá¯ááºáá±á¬ááºáá±áá²ááá¯áá¬ááᯠá¡ááŒá²áááºáž á áááºáá°ážááŸáááá¯á· ááá¯áá«áááºá
- á€áá±á¬ááºáááºáá»á¬ážááẠáá±áá¬ááŸáá·áº áááºááá¯á·á¡áá¯ááºáá¯ááºáááºááᯠá¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáá«áááºá ááá·áºáá¯ááºáááºážáá¬áááºááŸáá·áºáááºáááºá á¡ááŒá¶á¥á¬ááºáá áºáá¯ááŸáááẠááá¯á¡ááºáááºá
- áááºááá·áºáá±ážááœááºážáá»á¬ážáá¡áá°á¡áá®ááŒáá·áº á€áá¯ááºáááºážááœááºááᯠáááºááá¯á·ááœá²á·á ááºážááŒá±á¬ááºáž á¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáá«áááºá áááºááẠáá±ážááœááºážáá»á¬ážááᯠá¡áá²ááŒááºááá¯ááºáááºá áááºážááá¯á·ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬ááºá áááºážááá¯á·ááᯠááŒááºáááºááŒáá·áºááœááºážááá¯ááºáááºá áááºážááá¯á·á¡ááœáẠá¡ááœáŸááºážááááºážáá»á¬áž áááºáá±á¬ááºááá¯ááºáááºá á¡ááœááºá¡áá±ážááŒá®ážáá«áááºá
- áá±á¬ááºáá¶áá¯ááºáááºážá ááºáá»á¬ážááẠáá¯á¶ážá áœá²áá°áá»á¬ážá áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡áá»ááºááá±á¬áá±á¬ááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·ááẠá¡áááºážá¡ááŒá áºáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážáááŒá¯ááŒá±á¬ááºáž á á±á¬áá·áºááŒáá·áºááẠá¡áá±ážááŒá®ážáá«áááºá
- á áá áºáááºááá áºáá»á¬ážááẠááá·áºáá¬áá¬áá»á¬ážá á¡ááœááºá¡á á¬ážááᯠáá»á²á·ááœááºáááºááŸáá·áº ááá·áºáá¬áá¬áá»á¬ážá á áœááºážáá±á¬ááºáááºááᯠááá¯ážááŒáŸáá·áºáááºá¡ááœáẠá¡á á®á¡á ááºáá»á¬ážááᯠááŒá¯áá¯ááºááá¯ááºá á±áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááá¯áááºáž ááŒá±áá¬áá¶ááŒá®áž á¡áá²ááŒááºááẠá¡áá±ážááŒá®ážáá«áááºá
áá®á¡ááŒá±á¬ááºážá¡áá¬ááᯠá
áááºáááºá
á¬ážáááºááá¯ááẠáá®ááá·áºááºááœá±ááᯠááá¯ááºááŒáá·áºááá¯ááºáá«áááºá
á¥ááᬠáá±á¬ááºážááá¯áá»ááºáá»á¬áž
á€á¡áá¬ááẠáá»áœááºá¯ááºááá¯á·á áá±á¬áºááá¯ááááºááá¯ááŸá±á¬ááºááŸá¯ááŒá áºááŒá®áž áá»áœááºá¯ááºáááá¯ááºááá¯ááºááŒá áºáááºá áááºážááá¯á·ááœáẠááá°áá¬áá±ážááœááºážáá»á¬áž áá«áááºáááºá ááá¯áá±áá¬ááœáẠá á®ážáá®ážáá»á¬ážá០ááœá±ážáá»ááºáá¬ážááá·áº* á០áá±ážááœááºážáá»á¬áž áááŸááá«á ááááºážááá¬ááºážáá»á¬ážááᯠáááºáááœááºáá°áá±á¬á á¡áááºááŒá±áá±á¬áááºááá¯ážáá»á¬ážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááá¯ááºá á±ááá·áº á áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á Joins ááŒáá·áº á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ áá±ážááœááºážáá»á¬ážááŸáááŒá®ážá ááá¯ááá¯áááºááŸá¬ áááºážááá¯á·ááẠbytesá time ááŒá áºáááºá áááºážááá¯á·ááᯠáá±á¬ááºáá°ááá¯ááºáááºá áááºážááá¯á·ááᯠááŒáá·áºááŸá¯ááá¯ááºáááºá áááºážááá¯á·ááᯠááœá²ááŒááºážá áááºááŒá¬ááá¯ááºáááºá áááºážááá¯á·ááᯠáááºá á á±á¬áá·áºááŒáá·áºááŸá¯ááœáẠááá·áºááœááºážááá¯ááºáááºá áááºážááá¯á·á¡áá±á«áº á¡ááŒá±áá¶á áááºá á á±á¬áá·áºááŒáá·áºááŸá¯ááᯠáááºáá±á¬ááºááá¯ááºáááºá
áá±ážááœááºážáá»á¬ážááá¯
áá±ážááœááºáž- á¡ááŸááºáá¶ááááºááœá±ááᯠááŒá±á¬áºááŒá¬ááŸá¬ááá¯ááºáá°ážááá¯á· áááºážááŒá±á¬áá²á·áááºá áá«áá±ááá·áº áá«áááá»ááºáá±áá¯ááºážáá²- áááºážáá²á·ááá±á¬áá»ááºááœá±ááŸá¬ áááºááᯠdashboards á¡áá»áá¯ážá¡á
á¬ážááœá±ááᯠáá¯á¶ážáá¬áá²á
á¡ááŒá±: ááœá²ááŒá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáááºáá
áºáŠážáᶠáá±á¬ááºááŸááá¬ááŒá®áž áá°á·ááœáẠáá°á·ááá¯ááºááá¯áẠá
á±á¬áá·áºááŒáá·áºááŸá¯ ááŸáááŒá®ážááŒá
áºáááºá ááá¯á·á¡ááŒáẠáááºážááá¯á·á á
á±á¬áá·áºááŒáá·áºááŸá¯ááœáẠááá·áºááœááºážááẠááá¯á¡ááºáááºáá»á¬ážááᯠáá±á¬ááºáááºá¡á¬áž áá»áœááºá¯ááºááá¯á· á¡ááŒá¶áá±ážáá«áááºá á¡ááá¯ážáá¯á¶ážá¡ááŒá±á¡áá±ááŸá¬ Zabbix ááŒá
áºáááºá TopN ááááºáá»á¬ážááá¯áááºáá±á¬ááºááá¯ááºá
áœááºážáááŸááá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá áá«ááá¯á·ááá¯ááºááá¯ááºáá¯á¶ážáááºá
áá±ážááœááºáž- AWR á¡á
á®áááºáá¶á
á¬áá»á¬áž ááá¯á·ááá¯áẠ... á
á¯á
ááºážááŸá¯á áá°áá®áá±á¬ áá°áá®áá»ááºáá»á¬áž ááŸááá«ááá¬ážá áá®ááá¯áá»áá¯áž áá
áºáá¯áá¯á¡ááŒá±á¬ááºáž áááºážáááá¬ážá
ááŒá±- áá¯ááºáá²á·á AWR ááá¯áᬠáá¬áá²ááá¯áᬠáá»áœááºáá±á¬áº áááá«áááºá áá«á ááá¯ááºáááºá áá±á¬áá±á¬áááºááœáẠá¡á±á¬ááºáá±á¬áºááŒáá« áá±á¬áºáááºááᯠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ á
ááºáá®ážá¡áá»áá¯ážáá»áá¯ážááŸááááºá á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡ááœááºážá á¡áá»áá¯á·áá±á¬á¡ááŒá±áá¶á¡áá»ááºáá»á¬ážááᯠáá°áá®áá±á¬ PostgreSQL ááá¯á·ááá¯áẠáá®ážááŒá¬ážááá¯ááŸá±á¬ááºááŸá¯ááá¯á· áá±ážáá¬ážáááºá áááºážááá¯á·ááᯠá¡ááºáá¬áááºáá±á«áºááœáẠááẠgoogle áá¯ááºááá¯ááºáááºá áááºážááá¯á·ááẠááá¯áá±áá¬ááœáẠááŸááá±áááºá ááá¯á¡áá¬á developer áá»á¬ážáá²ááŸáá
áºáá±á¬ááºá PostgreSQL thread ááŸá sql.ru ááá¯áááºááœáẠááá¯ááºáá±áááºá á¡á²áá®ááŸá¬ áá°á·ááá¯áááºážááá¯á·ááááºá áá¯ááºáááºá á¡á²ááá¯á¡áá¬ááœá±ááŸááááºá áá°ááá¯á·ááá¯á¶ážááá¯ááºáááºá á¡áá±á«ááºážáá«
PS1 ááẠpostgres_exporter ááá¯á¡áá¯á¶ážááŒá¯áá±áá«á áááºááá·áº dashboard ááá¯á¡áá¯á¶ážááŒá¯áá±ááááºážá áá°ááá¯á·áá²á áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážááŸááááºá áá°ááá¯á·á áá±ááºáá±á¬ááºáá»áá±ááŒá®á á¡ááá¯ááºážá¡ááá¯ááºážááẠááœááºážáá¶áá¬ážáá±á¬ ááá°áá¬áá¯á¶á á¶áá áºáá¯ááᯠáááºáá®ážááá¯ááºáááá·áºáááºáá¬ážá
PS2 ááẠá áœááºážáá±á¬ááºáááºá á±á¬áá·áºááŒáá·áºááŒááºážááŸáá·áº á¡ááá¯á¡áá»á±á¬ááºáá»áááºááŸáááŒááºážááá¯ááºáᬠá¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááᯠá¡áá±ážáá±ážáá¬ážááá·áº áá°ááá¯áẠSaaS áááºážááŸááºážáá»ááºááŒá áºáá±á¬ááŒá±á¬áá·áº áááºááŸá¬ážááá¯ááºááŒááºážááŒá áºáááºá
á
á¬áááºážááœááºážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáᬠá
á
áºáááºážááœáẠáá«áááºááá¯ááºáá«áááºá
áááºááá·áº self-hosted postgresql monitoring (áááºááŸáºáá¯ááºááŒáá·áº) á¡áá±á¬ááºážáá¯á¶ážáᯠáááºáá°áááááºážá
-
30,0%Zabbix + Alexey Lesovsky ááá¯á·ááá¯áẠzabbix 4.4 ááá¯á·ááá¯áẠlibzbxpgsql + zabbix libzbxpgsql + zabbix3 á០áááºááá¯ážááŸá¯áá»á¬áž
-
0,0%https://github.com/lesovsky/pgcenter0
-
0,0%https://github.com/pg-monz/pg_monz0
-
20,0%https://github.com/cybertec-postgresql/pgwatch22
-
20,0%https://github.com/postgrespro/mamonsu2
-
0,0%https://www.percona.com/doc/percona-monitoring-and-management/conf-postgres.html0
-
10,0%pganalyze ááẠááá¯ááºááá¯áẠSaaS áá áºáá¯ááŒá áºááẠ- áááºážááᯠáá»ááºááááá«á
-
10,0%https://github.com/powa-team/powa1
-
0,0%https://github.com/darold/pgbadger0
-
0,0%https://github.com/darold/pgcluu0
-
0,0%https://github.com/zalando/PGObserver0
-
10,0%https://github.com/spotify/postgresql-metrics1
á¡áá¯á¶ážááŒá¯áá° 10 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 26 ááŸá±á¬ááºáá±áá²á·áá«áááºá
source: www.habr.com