แแแแฅแกแแ แแแกแแแกแแแก 2015 แฌแแแก แแแฎแกแแแแแแก แขแ แแแกแแ แแคแชแแ "แฆแ แแ แฉแแซแแ แแ PostgreSQL-แแก แจแแแ แกแขแแขแแกแขแแแแจแ"
แแแกแฃแฎแแกแแแแแแแแแก แฃแแ แงแแคแ แแแฎแกแแแแแแก แแแขแแ แแกแแแ: แแฆแแแแจแแแ, แ แแ แแก แแแแแ แแจแ แแแแแ แแฆแแแฃแแแ 2015 แฌแแแก แแแแแแ แแ - แแแแแแ 4 แฌแแแแ แแแขแ แแ แแแแแแ แแแแ แแ แ. แแแแแ แแจแจแ แแแแฎแแแฃแแ แแแ แกแแ 9.4 แแฆแแ แแ แแก แแฎแแ แแแญแแ แแแ. แแแแ 4 แฌแแแก แแแแแแแแแแแจแ แแแแแแแแ 5 แแฎแแแ แแแแแชแแแ, แ แแแแแแจแแช แแแแแฉแแแ แแแแ แ แกแแแฎแแ, แแแฃแแฏแแแแกแแแ แแ แชแแแแแแแ แกแขแแขแแกแขแแแแกแแแ แแแแแแจแแ แแแแ, แแแแแแ แแ แแแกแแแ แแ แแแซแแแแแแฃแแแ แแ แแ แแ แแแแแแแขแฃแ แแ. แ แแแแ แช แแแแแแฎแแแ, แแชแแแแแแแ แแ แแแแแแแแแก แแแแแจแแแ, แ แแแ แจแแชแแแแแจแ แแ แจแแแแแงแแแแ แแแแแฎแแแแ. แแก แแแแแแแแ แแ แแ แแแแแแแฌแแ แแ, แแแแ แแ แแ แจแแแแแแ แกแฃแ แกแฎแแ แแแแแ แแจแ แแแแแแ.
PostgreSQL DBMS แแ แแก แฃแแแ แแแแแ แ แแแฅแแแแแแ แแ แแก แแแฅแแแแแแ แจแแแแแแ แแ แแแแแ แฅแแแกแแกแขแแแแกแแแ, แ แแแแแแ แแแแ แแแแแ แแแฃแแ แแฃแจแแแแ แแแ แแแแแ แแแแแแแแก แแฎแแแแก DBMS-แแก แแฃแจแแแแแแ. แแฅแกแแแฃแแขแแชแแแก แแ แแก แแ แแแแแแ แกแขแแขแแกแขแแแ แแ แแแคแแ แแแชแแ แแแแแแแแแขแแแแก แแฃแจแแแแแก แจแแกแแฎแแ, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แจแแแคแแกแแ PostgreSQL-แแก แแคแแฅแขแฃแ แแแ แแ แแแแฆแแ แแแแแแ แจแแกแ แฃแแแแแก แแแกแแฃแแฏแแแแกแแแแแ. แแฃแแชแ, แแก แแแคแแ แแแชแแ แกแแแแแแ แแแแ แแ แแ แกแแแแแแ แแแแแ แขแแแแแฃแแ แกแแฎแแแแ แฌแแ แแแแแแแแแ. แแ แแแคแแ แแแชแแแก แแแแฃแจแแแแแ แแ แแแกแ แแแขแแ แแ แแขแแชแแ แแแแฏแแ แกแ แฃแแแแ แแ แ แขแ แแแแแแฃแ แ แแแแชแแแแ แแ แฎแแแกแแฌแงแแแแแกแ แแ แแแแฃแแแแฃแ แ แกแแจแฃแแแแแแแแก โแแแแแแ แแจแโ แแแแแแแ แจแแแซแแแแ แแแแแแฃแแ แแงแแก แแแฌแแแแแ DBA-แแช.
แฒกแแฆแแแ แแจแแแแแแแกแ แแ แแฅแแแ แแแแฅแกแ. แ แแแแ แช แแแแแ แแฅแแ, PostgreSQL แกแขแแขแแกแขแแแแแ แแแกแแฃแแ แแ.
PostgreSQL แแฅแขแแแแแแก แกแขแแขแแกแขแแแ. PostgreSQL-แก แแฅแแก แแ แ แกแขแแขแแกแขแแแ. แแฅแขแแแแแแก แกแขแแขแแกแขแแแ, แ แแแแแแช แแฅแแแแ แแแแฎแแแฃแแ. แแ แแ แแคแแแแก แกแขแแขแแกแขแแแ แแแแแชแแแแ แแแแแฌแแแแแแก แจแแกแแฎแแ. แแ แแแแแ แแขแฃแแแ แแแกแแฃแแ แแ PostgreSQL แแฅแขแแแแแแก แกแขแแขแแกแขแแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแแซแแแแก แแแแกแฏแแแแ แจแแกแ แฃแแแแแแ แแ แ แแแแ แแ แแแแแฃแแฏแแแแกแแ แแแ.
แแ แแแขแงแแแ, แแฃ แ แแแแ แแคแแฅแขแฃแ แแ แแแแแแงแแแแ แกแขแแขแแกแขแแแ แกแฎแแแแแกแฎแแ แแ แแแแแแแก แแแแแกแแญแ แแแแ, แ แแแแแแช แแแฅแแ แแ แจแแแซแแแแ แแฅแแแแแ.
แ แ แแ แแฅแแแแ แแแแแ แแจแจแ? แแแแแ แแจแจแ แแ แแ แจแแแแฎแแแ แแ แแคแแแแก แกแขแแขแแกแขแแแแก, แ แแแแแ. แแก แแ แแก แชแแแแ แแแแ แชแแแแ แแแฎแกแแแแแแกแแแแก, แแฃ แ แแแแ แแแแฎแแแ แแแแแชแแแแแ แแแแแชแแแแ แแแแแจแ แแ แ แแแแ แแฆแแแก แจแแแแแฎแแแก แแแแแแแแแแ แฌแแ แแแแแแแแก แแ แแแแแชแแแแแแก แฎแแ แแกแฎแแแ แแ แแ แ แแแแแแแแ แแ แแแฎแแกแแแแแแแแแแ.
แแ แแ แแฅแแแแ แแแกแขแ แฃแแแแขแแแแก แแแแแฎแแแแแแ, แแ แแ แจแแแแแแ แแ แแ แ แแ แแแฃแฅแขแก แแแแ แแกแแแ. แ แแแแแแ แแ แแฅแแแแ. แแแแแ, แแก แแแแแแแแแ.
แแแแแ แแแฉแแแแแ, แ แแ แกแขแแขแแกแขแแแแก แแแแแงแแแแแ แกแแกแแ แแแแแแ. แฒแก แแฃแชแแแแแแแแ. แแแแแแงแแแแ แแแ แฃแจแแจแ แแ. แงแแแแแคแแ แ แ แแช แฉแแแ แแแญแแ แแแแ แแ แแก แแแ แขแแแ SQL แแ SQL-แแก แกแแแแแแกแ แชแแแแ.
แแ แฉแแแ แแแกแแฃแแ แแแ แแแแแ, แแฃ แ แแแแแ แกแขแแขแแกแขแแแ แแแแ แฉแแแ แแ แแแแแแแแแก แแแแแกแแญแ แแแแ.
แแฃ แแแแแแฎแแแแแ PostgreSQL-แก แแ แแแแฃแจแแแ แแ แซแแแแแ แแแแ แแชแแฃแ แกแแกแขแแแแแ แแ แแชแแกแแแแก แกแแแแฎแแแแ, แแแแแแแฎแแแ โแจแแ แงแฃแแกโ. แฉแแแ แแแแแแแฎแแแ แแ แแชแแกแแแก, แ แแแแแแแช แ แแฆแแชแแก แแแแแแแแ แแ แกแแฎแแแแ แแแแฎแแแแแแ แฌแแ แแแแแแแแแ, แ แแก แแแแแแแแ แแฅ, แ แแก แแแแแแแแ. แแแแ แแ, แคแแฅแขแแแ แแแแ, แแก แแ แแก แจแแแ แงแฃแแ, แฉแแแ แแแ แจแแแฎแแแแแ แจแแแแแ.
แฉแแแ แจแแแแแซแแแ แจแแแฎแแแแ CPU-แก แแแขแแแ แแแแก top
, แฉแแแ แแฎแแแแแ แแแฎแกแแแ แแแแก แแแแแงแแแแแแก แแแแแแ แแ แกแแกแขแแแแก แแแแฃแแแแฃแ แ แแ แแแ แแแแก แแแแ , แแแแ แแ แฉแแแ แแแ แจแแแซแแแแ PostgreSQL-แแก แจแแแแแ แฉแแฎแแแแแก. แแแแกแแแแก แแแญแแ แแแแ แกแฎแแ แแแกแขแ แฃแแแแขแแแ.
แแ แจแแแแแแ แแแแแแ แซแแแ, แแแขแงแแแ แกแแ แแฎแแ แฏแแแ แแ แ. แแฃ PostgreSQL-แก แฌแแ แแแแแแแแแ แแกแแแ แกแฅแแแแก แกแแฎแแ, แแแจแแ แจแแกแแซแแแแแแ แแฅแแแแ แแแกแฃแฎแแก แแแชแแแ แกแแ แแฎแแ แฏแแแ แแ แ. แแก แแ แแก แแ แ แ แแ: แแก แแ แแก แแแแแแขแแก แแแแฎแแแแแแแก แแแแฃแจแแแแแ แแแแแแแชแแแแแแแ แแ แคแแแฃแ แ แแแแชแแแแแ, แ แแแแแกแแช PostgreSQL แแกแ แฃแแแแก แแแก แแแกแแจแแแแแ.
แแฃ แแแแ แแแ แชแฎแแแ แแฃแแฎแแแแ แแแแแฌแงแแแ แงแฃแ แแแแก, แแแแแแแฎแแแ, แ แแแแ แแฃแจแแแแแแ แแแแแแขแแก แแแแฎแแแแแแ. แแแแฎแแแแ แแแแแก แแแแแแแชแแแแแ แแ แแฎแกแแแแ แแแแแแขแแก แกแแกแแ แจแแแแแแแ แแฃแจแแแแแกแแแแก. แแแแฎแแแแ แแแแแแชแแแ แแแแ แแแก. แแแแแแแแแแ แแงแแแแแแแก แจแแแแแฎแแแก แแแแแแก. แแแแแแแแก แจแแแแแแ แแฆแกแแกแ แฃแแแแแแ. แแ แกแแแแแก แแแ แแแแฃแแ แกแแฎแแก แแแแแแก I/O แแแแแชแแแแแ, แ แแแแแแแช แแแแแแจแแ แแแฃแแแ แชแฎแ แแแแแแแ แแ แแแแแฅแกแแแแแ. แกแแญแแ แ แแแแแชแแแแแ แแแแแฎแแแ แแแกแแแแแแแ แแแฎแกแแแ แแแแจแ แกแแแชแแแแฃแ แแแแแจแ, แกแแฎแแแฌแแแแแแ "แแแแแแ แแแฃแแ แแฃแคแแ แแแ". แจแแแแแฎแแแก แจแแแแแแแ, แแฃ แแกแแแ แแแแแฎแแแแฃแแแ, แฌแแจแแแแแ, แฉแแแฌแแ แแแ แขแ แแแแแฅแชแแแก แแฃแ แแแแจแ WAL-แจแ. แแแแแแ แแ แกแขแแขแแกแขแแแฃแ แ แแแคแแ แแแชแแ แจแแแแก แแฃแ แแแแจแ แแ แกแขแแขแแกแขแแแแก แจแแแแ แแแแแแแจแ. แแ แแแแฎแแแแแก แจแแแแแ แฃแแ แฃแแแแแ แแแแแแขแก. แแแแก แจแแแแแ แแแแแแขแก แจแแฃแซแแแ แแแแแแแ แแก แงแแแแแคแแ แ แแฎแแแ แแแแฎแแแแแ.
แ แ แแแแฅแแก แคแแแฃแ แ แแแแชแแแแแแ แแ แคแแแฃแ แ แแ แแชแแกแแแแ? แฉแแแ แแแแฅแแก แ แแแแแแแแ แแ แแชแแกแ, แ แแแแแแช แแแแ แฉแฃแแแแก แแแแแชแแแแ แแแแแก แแแ แแแแฃแ แแแแ แแชแแฃแ แ แแแแแจแ. แแก แแ แแชแแกแแแ แแกแแแ แแฅแแแแ แแแจแฃแฅแแแฃแแ แแแแแ แแจแจแ: แแก แแ แแก แแแขแแแแแฃแฃแแ, แแแแจแแแแ แแฃแแฅแขแ, แ แแแแแแแชแแแกแแแ แแแแแแจแแ แแแฃแแ แแ แแชแแกแแแ, แคแแแฃแ แ แฉแแฌแแ แ. แแแฎแกแแแแแแกแแก แแแแแแฃแ แแแแแแแก แจแแแแฎแแแ.
แ แ แแ แแแแแแแแ แแฅแแก แกแขแแขแแกแขแแแแก?
- แฃแแแ แแแ แแแคแแ แแแชแแ. PostgreSQL 9.4 แแแแแแแแแ 109 แแแขแ แแแแก แกแขแแขแแกแขแแแแก แแแแแชแแแแแแก แกแแแแฎแแแแ. แแฃแแชแ, แแฃ แแแแแชแแแแ แแแแ แแแแฎแแแก แแแแ แชแฎแ แแแก, แกแฅแแแแก, แแแแแชแแแแ แแแแแก, แแแจแแ แงแแแแ แแก แแแขแ แแแ แฃแแแ แแแแ แแแแแแก แชแฎแ แแแแแแก, แแแแแชแแแแ แแแแแแแก แจแแกแแแแแแก แ แแแแแแแแแแ. แแแฃ แแ แแก แแแแแ แฃแคแ แ แแแขแ แแแคแแ แแแชแแ. แแ แซแแแแแ แแแแแแแ แแแกแจแ แฉแแซแแ แแ.
- แจแแแแแแ แแ แแแแแแ แแก แแ แแก, แ แแ แกแขแแขแแกแขแแแ แฌแแ แแแแแแแแแแ แแ แแชแฎแแแแแแแ. แแฃ แแ แกแขแแขแแกแขแแแแก แแแแแแฎแแแแแ, แแแแฎแแแ แแฃแแแแแแ แแแแ แ แแ แแชแฎแแแแแแก. แแ แแฃ แแแแ แ แแ แ แแแแแแ แกแขแแขแแกแขแแแแก แแแแแขแแแ แแแแก แจแแแแแ, แฉแแแ แแแแแแแฎแแแ แแแแแแ แแแแแ แแแแจแแแแแแแแก. แแ แแ แแคแแ แก แแแแฃแแแแแแแ.
- แแกแขแแ แแ แแ แแ แกแแแแแก. แแฃ แ แแแแ แกแแฎแแก แฌแแ แฃแแแขแแแแแแ แแแฅแแก, แ แแฆแแช 15-30 แฌแฃแแแก แฌแแ แแแแชแ, แกแขแแขแแกแขแแแแก แแแ แแแแแแงแแแแ แแ แแแฎแแ แ แ แแแฎแแ 15-30 แฌแฃแแแก แฌแแ. แแก แแ แแแแแแแ.
- PostgreSQL-แจแ แฉแแจแแแแแฃแแ แฎแแแกแแฌแงแแก แแแแแแแแแ แแ แแแแแแแ. แแแ แแแแก แแแแแแแแแ แแแ แแ แฃแแ แฃแแแแแงแแคแแ แ แแแแ แกแแ แแแแแแแแก. แแกแแแแกแ แแ แแคแแ แ แแฅแแ. แแกแแแ แแฎแแแแ แกแขแแขแแกแขแแแแก แแซแแแแแแ แแแแแชแแแแ แแแแแจแ. แแแแแแงแแแแ แแแ, แแแแแ แแแ แแแก, แ แแช แแแแแแ, แจแแแแแ แแแแแแแแ.
- แแแแแแแแ PostgreSQL-แจแ แฉแแจแแแแแฃแแ แแแกแขแ แฃแแแแขแ แแ แแ แแก, แแก แแฌแแแแก แกแฎแแ แแ แแแแแแแก. แแแกแแแ แแฎแแ แแก แฃแแแ แแแ แแแกแขแ แฃแแแแขแ. แงแแแแ แแแแแแแแ, แ แแแแแกแแช แแฅแแก แแแข-แแแแแแแแ แแแ แแแแแ แ แฎแแแแแ, แชแแแแแแก แแแฌแแ แแก แกแแแฃแแแ แ แแ แแแ แแแ. แแ แจแแแแแแ, แกแแแแแแแแแแแก แแฅแแก แฃแแแ แแแ แแแกแขแ แฃแแแแขแ, แ แแแแแแช แจแแแแซแแแแ แแแแแแงแแแแ แกแขแแขแแกแขแแแแกแแแ แแฃแจแแแแแกแแแแก. แแ แแแแแแ แ แแแกแขแ แฃแแแแขแจแ แแ แแก แแแ แแแแฃแแ แคแฃแแฅแชแแแแ, แกแฎแแ แแแกแขแ แฃแแแแขแแแจแ แแ แแ แแก แกแฎแแ แคแฃแแฅแชแแแแ, แแ แแ แแก แ แแแแแแแแ แแฎแแแ แคแฃแแฅแชแแ. แแ แฉแแแแแ แกแแขแฃแแชแแ, แ แแ แแฅแแแ แฃแแแ แแแแแแงแแแแ แแ แ แแ แกแแแ แแ แแแฎแ แแแกแขแ แฃแแแแขแ, แ แแแแแแแช แแ แแแแแแแก แแแแแคแแ แแแก แแ แแฅแแ แกแฎแแแแแกแฎแแ แคแฃแแฅแชแแแแ. แแก แซแแแแแ แฃแกแแแแแแแแ.
แ แ แแแฐแงแแแแ แแฅแแแแ? แแแแจแแแแแแแแแแ, แ แแ แจแแซแแแ แกแขแแขแแกแขแแแแก แฃแจแฃแแแแ แแฆแแแ, แ แแแ แแ แแงแแ แแแแแแแแแแฃแแ แแ แแแ แแแแแแ, แแ แ แแแแ แแ แแแแฃแแฏแแแแกแแ แแก แแ แแแ แแแแแ แแแแแ: แแแแแแขแแ แ แแแแแแแแ แคแฃแแฅแชแแ แแฅแแแแ แกแแ แแแแแแก แแแกแแฆแแแแ.
แแ แแฅแแแ แแญแแ แแแแแ SQL-แแก แกแแแแแแกแ แชแแแแ. แกแขแแขแแกแขแแแแแแ แแแ แแแแฃแแ แแแแแชแแแแแแก แแแกแแฆแแแแ, แแฅแแแ แฃแแแ แแแแแแแแ SQL แแแแฎแแแแแแ, แแแฃ แฃแแแ แแชแแแแ แ แแแแ แฎแแแแ แแ แฉแแแ, แจแแแ แแแแ.
แกแขแแขแแกแขแแแ แแแแ แ แแแแก แแแแฃแแแแแ. แแกแแแ แจแแแซแแแแ แแแแงแแก แแแขแแแแ แแแแแ.
- แแแ แแแแ แแแขแแแแ แแ แแ แแก แแแแแชแแแแ แแแแแจแ แแแแแแแแ แ แแแแแแแแแ. แแก แแ แแก, แ แแแแกแแช แแแแแชแแแแ แแแแแจแ แฎแแแแ แ แแแแ แแแแแแแ: แแแแฎแแแแ, แชแฎแ แแแแก แฌแแแแแ, แแแขแแแแแฃแฃแแ, แฉแแแแแแแ, แแแจแแ แแก แงแแแแแคแแ แ แแแแแแแแ. แแ แแแแแแแแแแก แจแแกแแแแแแกแ แแ แแชแฎแแแแแแ แแแ แแแแ. แแ แฉแแแ แจแแแแแซแแแ แแแแแงแฃแ แ แแแแแแแ แแ แแแแแแแแแก.
- แแแแ แ แแแขแแแแ แแ แแ แแก แแกแแแ แแแแแฅแขแแแแก แแแแกแแแแแ, แ แแแแ แแชแแ แชแฎแ แแแแแ, แแแแแชแแแแ แแแแแแ. แแแ แแฅแแ แแแแกแแแแแ. แแก แแ แแก แแแแแแแแแก แแแแ. แฉแแแ แจแแแแแซแแแ แแแแแงแฃแ แ แแแแแแแ แชแฎแ แแแแแแก แแ แแแก, แแแแแฅแกแแแแก แแ แแแก. แฉแแแ แแฎแแแแแ แชแแแแแแแแแก แแแแแแแแแจแ.
- แแ แแแกแแแ แแแขแแแแ แแ แแ แแก แฆแแแแกแซแแแแแแ แแแฎแแ แฏแฃแแ แแ แ. แแแแฎแแแแ แแ แแก แแแแแแแ. แแแก แแฅแแก แฎแแแแ แซแแแแแแแก แกแแแฃแแแ แ แแแแแ แแขแฃแแ แกแแแแแ. แแฅ แแแแฌแงแ, แแฅ แแแกแ แฃแแแ. แฉแแแ แจแแแแแซแแแ แแแแแงแฃแ แ แแแแแแแ แแแก. แแ แแแกแแแแแ แแแแแแก แฌแแแแแฎแแแก แแ แฉแแฌแแ แแก แแ แ. แแ แแแแแแแก แแกแแแ แแแแแงแฃแ แก แแแแแแแแแ.
แกแขแแขแแกแขแแแแก แฌแงแแ แแแแ แฌแแ แแแแแแแแแแ แจแแแแแแแแแ แแ:
- แแแแแแ แแแฃแ แแแฎแกแแแ แแแแจแ (แแแแแแ แแแฃแแ แแฃแคแแ แแแ) แแ แแก แกแแแแแแขแ แแฅ แกแขแแขแแแฃแ แ แแแแแชแแแแแแก แแแแแแแกแแแแกแแแแก, แแกแแแ แแ แแก แแก แแ แแชแฎแแแแแแ, แ แแแแแแแช แแฃแแแแแแ แแแ แแแแ, แ แแแแกแแช แฎแแแแ แแแ แแแแฃแแ แแแแแแแแแ, แแ แฉแแแแแ แแแ แแแแฃแแ แแแแแแขแแแ แแแแแชแแแแ แแแแแก แแฃแจแแแแแจแ.
- แงแแแแ แแก แแ แแชแฎแแแแ แแ แแ แแก แฎแแแแแกแแฌแแแแแ แแแแฎแแแ แแแแแกแแแแก แแ แแ แช แแ แแ แแก แฎแแแแแกแแฌแแแแแ แแแแแแแกแขแ แแขแแ แแกแแแแก. แแก แแแแแแ แแแแแก แ แแฆแแชแแแแแ. แแแแแ แฌแแแแแแกแแแแก, PostgreSQL แฃแแ แฃแแแแแงแแคแก แแแขแแ แคแแแกแก SQL แคแฃแแฅแชแแแแแก แกแแฎแแ. แฉแแแ แจแแแแแซแแแ แจแแแแ แฉแแแ แแ แฉแแแแแ แแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแแ แแ แแแแแฆแแ แ แแแแ แกแแฎแแก แแแขแ แแแ (แแ แแแขแ แแแแก แแแแ แแแ).
- แแฃแแชแ, แงแแแแแแแแก แแ แแ แแก แแแกแแฎแแ แฎแแแแแ แแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแ, แแแแขแแ แคแฃแแฅแชแแแแ แแ แแก แฎแแแแแแก (VIEWs) แกแแคแฃแซแแแแ. แแก แแ แแก แแแ แขแฃแแแฃแ แ แชแฎแ แแแแแ, แ แแแแแแแช แแฌแแแแแ แกแขแแขแแกแขแแแแก แแแแแ แแขแฃแ แฅแแแกแแกแขแแแแแ, แแ แแแแแชแแแแ แแแแแก แแแแแแ แ แแแแแแแแแ.
- แแก แฉแแจแแแแแฃแแ แฎแแแแแ (VIEWs) แแ แแก แกแขแแขแแกแขแแแแกแแแ แแฃแจแแแแแก แแแแแแ แ แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแ. แแกแแแ แฎแแแแแกแแฌแแแแแแ แกแขแแแแแ แขแฃแแแ, แงแแแแแแแแ แ แแแแแขแแแแแ แแแ แแแแขแ แแแแก แแแ แแจแ, แจแแแแซแแแแ แแแฃแงแแแแแแแแ แแแแแแงแแแแ แแกแแแ, แฃแงแฃแ แแ, แแแแฆแแ แแแคแแ แแแชแแ แแฅแแแแ. แแ แแกแแแ แแ แแก แฌแแแแแ. แฌแแแแแ แแคแแชแแแแฃแ แแ. แจแแแแซแแแแ แแแแแแกแขแแแแ แแ postgresql-contrib แแแแแขแ (แแแแแแแแแ, postgresql94-contrib), แฉแแขแแแ แแแ แกแแญแแ แ แแแแฃแแ แแแแคแแแฃแ แแชแแแจแ, แแแฃแแแแแ แแแกแแแแก แแแ แแแแขแ แแแ, แแแแแขแแแ แแแ PostgreSQL แแ แจแแแแซแแแแ แแแแแแงแแแแ แแแ. (แฒจแแแแจแแแ. แแแแแฌแแแแแแแแ แแแแแแแแแแ แ, แแแแขแ แแแฃแชแแแก แแแแ แแแ แกแแแแจแ แแแแแขแ แซแแ แแแแแ แแแแแขแแก แแแฌแแแแ).
- แแ แแ แแก แแ แแแคแแชแแแแฃแ แ แฌแแแแแ. แแแ แแ แแแแฌแแแแแแ แกแขแแแแแ แขแฃแแ PostgreSQL แแแแแฌแแแแแ. แแกแแแ แแ แฃแแแ แแงแแก แจแแแแแแแแ แแ แแแแแกแขแแแแ แแแฃแแ แ แแแแ แช แแแแแแแแแแ. แแแ แแแแขแแแ แจแแแซแแแแ แซแแแแแ แแแแกแฎแแแแแแฃแแ แแงแแก, แแแแกแแ แแแฎแแแแแ, แแฃ แ แแก แแแแคแแฅแ แแแก แแ แแ แแแคแแชแแแแฃแ แ แฌแแแแแแก แจแแแฅแแแแแ.
แแก แกแแแแแ แแฉแแแแแแก แงแแแแ แแ แฎแแแก (VIEWs) แแ แแแแแแ แ แแ แคแฃแแฅแชแแแก, แ แแแแแแแช แฎแแแแแกแแฌแแแแแแ PostgreSQL 9.4-แจแ. แ แแแแ แช แแฎแแแแแ, แแแแ แ แแแแแแแแ. แแ แกแแแแแแ แแแแแแแ แแแแแแฃแแแแ, แแฃ แแแแก แแแ แแแแแ แแแแแชแแแ.
แแฃแแชแ แฌแแแ แกแฃแ แแแก แแฃ แแแแแแแฆแแแ ะะฐะบ ััะฐัะธััั ะฒัะตะผั ะฝะฐ PostgreSQL
แแ แจแแแกแแแแแแแ แแ แกแแแก, แฉแแแ แแแฆแแแ แแ แกแฃแ แแแก. แแแแแแฃแแ แฎแแแ (VIEWs) แแ แแแแแแฃแแ แคแฃแแฅแชแแ, แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแแ แแฃ แแ แแแแแแ, แ แแ แแแแแฆแแ แจแแกแแแแแแกแ แกแขแแขแแกแขแแแ, แ แแแแกแแช แฉแแแ แแแแฅแแก PostgreSQL แแแจแแแแฃแแ. แแ แฉแแแ แฃแแแ แจแแแแแซแแแ แแแแแฆแแ แแแ แแแแฃแแ แแแคแแ แแแชแแ แฅแแแกแแกแขแแแแก แแฃแจแแแแแก แจแแกแแฎแแ.
แแแ แแแแ, แ แแกแแช แฉแแแ แจแแแฎแแแแแ แแ แแก pg_stat_database
. แ แแแแ แช แแฎแแแแแ, แแก แแ แแก แฌแแ แแแแแแแแแแแแ. แแก แจแแแชแแแก แฃแแแ แแ แแแคแแ แแแชแแแก. แงแแแแแแ แแ แแแแแคแแ แแแแแ แแแคแแ แแแชแแ. แแ แแก แแแแซแแแแก แซแแแแแ แกแแกแแ แแแแแ แชแแแแแก แแแแก แจแแกแแฎแแ, แแฃ แ แ แฎแแแแ แแแแแชแแแแ แแแแแจแ.
แ แ แจแแแแแซแแแ แแแแฆแแ แแฅแแแแ? แแแแแฌแงแแ แฃแแแ แขแแแแกแ แแแแแแแแ.
select
sum(blks_hit)*100/sum(blks_hit+blks_read) as hit_ratio
from pg_stat_database;
แแแ แแแแ, แ แแช แจแแแแแซแแแ แจแแแฎแแแแ แแ แแก แฅแแจแแก แแแ แขแงแแแก แแ แแชแแแขแ. แฅแแจแแก แแแ แขแงแแแก แแ แแชแแแขแ แกแแกแแ แแแแแ แแแขแ แแแแ. แแก แกแแจแฃแแแแแแก แแแซแแแแ แจแแแคแแกแแ แ แแแแแแ แแแแแชแแแ แแ แแก แแฆแแแฃแแ แแแแแแ แแแฃแแ แแฃแคแแ แฃแแ แฅแแจแแแแ แแ แ แแแแแแ แฌแแแแแฎแฃแแแ แแแกแแแแแ.
แฒแแแแแแ, แ แแ แ แแช แแแขแ แฅแแจแ แแแแฅแแก, แแแ แฃแแแแแกแ. แฉแแแ แแแคแแกแแแ แแ แแแขแ แแแแก แแ แแชแแแขแฃแแแ. แแ, แแแแแแแแแ, แแฃ แแแแฅแแก แแ แฅแแจแแก แแแ แขแงแแแแแก แแ แแชแแแขแ 90%-แแ แแแขแ, แแแจแแ แแก แแแ แแแ. แแฃ แแก แแแแชแแแ 90%-แแ แแแแแ, แแแจแแ แฉแแแ แแ แแแแฅแแก แกแแแแแ แแกแ แแแฎแกแแแ แแแ, แ แแ แจแแแแแแ แฉแฃแแแ แแแแแชแแแแ แชแฎแแแ แแแแ แแแฎแกแแแ แแแแจแ. แแ แแ แแแแแชแแแแแแก แแแแแกแแงแแแแแแแ, PostgreSQL แแซแฃแแแแฃแแแ แจแแแแแแก แแแกแแแ แแ แแก แฃแคแ แ แแแแแ, แแแแ แ แแแแแชแแแแแแก แแแฎแกแแแ แแแแแแ แฌแแแแแฎแแแก แจแแแแฎแแแแแจแ. แแ แแฅแแแ แฃแแแ แแคแแฅแ แแ แแแฎแกแแแ แแแแก แแแแ แแแแ: แแ แแแแแ แแแ แกแแแ แแ แแฃแคแแ แแแ, แแ แแแแแ แแแ แ แแแแแก แแแฎแกแแแ แแแ (RAM).
select
datname,
(xact_commit*100)/(xact_commit+xact_rollback) as c_ratio,
deadlocks, conflicts,
temp_file, pg_size_pretty(temp_bytes) as temp_size
from pg_stat_database;
แแแแแ แ แแกแ แแฆแแแ แจแแแซแแแแ แแ แกแแแฅแขแแแแแแแ? แแฅแแแ แฎแแแแแ แแแแแชแแแแ แแแแแจแ แแ แกแแแฃแ แแแแแแแแแแก. แ แ แแ แแก แแแฉแแแแแแ แแฅ? แแ แแก แแแแแแแฃแแแแแแ, แแแแแแ แฃแแแแแแ, แแ แแแแแแ แคแแแแแแแก แจแแฅแแแ, แแแแ แแแแ, แฉแแฎแแแ แแ แแแแคแแแฅแขแแแ.
แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแก แแแแฎแแแแ. แแก SQL แกแแแแแแ แแแ แขแแแแ. แแ แฉแแแ แจแแแแแซแแแ แแแแแแแฎแแ แแก แแแแแชแแแแแ แฉแแแแแแแก.
แแ แแฅ แแ แแก แแฆแแ แฃแแ แแแแจแแแแแแแแแ. แฉแแแ แแฃแงแฃแ แแแ แแแแแแแฃแแแแแแแกแ แแ แฃแแแ แแแแ แฃแแแแแก แแแแแคแแ แแแแแก. Commits แแ แแก แแแ แแแแแแก แฌแแ แแแขแแแฃแแ แแแแแกแขแฃแ แแแ. แฃแแแ แแแแ แฃแแแแ แแ แแก แฃแแแ แแแแ แฃแแแแ, แแแฃ แขแ แแแแแฅแชแแแ แจแแแกแ แฃแแ แแแ แแแแฃแแ แกแแแฃแจแแ, แแแซแแแแ แแแแแชแแแแ แแแแ, แแแแแฎแแแ แ แแฆแแช แแ แจแแแแแ แแแฎแแ แแแ แชแฎแ แแ แขแ แแแแแฅแชแแแก แจแแแแแแแ แแแฃแฅแแแแฃแแแ. แ.แ. แแฃแแแแแแ แแแแ แแ แฃแแแ แแแแ แฃแแแแ แชแฃแแแ. แแ แ แแแแ แแ แฃแแแ แแแแ แแแแ แแแ แแ แจแแชแแแแแ แแแแ แแกแ, แ แแ แแก แแ แแแฎแแแก.
แแแแคแแแฅแขแแแ แแแแแแจแแ แแแฃแแแ แ แแแแแแแชแแแกแแแ. แแ แแกแแแแช แแแแแแแ แฃแแแ แแฅแแแก แแชแแแแแฃแแ. แแฃ แแฅแแแ แแแฅแแ แแแ แแแแฃแแ แแแแฎแแแแแแ, แ แแแแแแแช แจแแกแ แฃแแแแฃแแแ แ แแแแแแแแ แแ แฌแแ แแแแฅแแแแแ แแแแคแแแฅแขแแแ, แแแจแแ แแฅแแแ แฃแแแ แแแแแแแแแแ แแก แแแแคแแแฅแขแแแ แแ แแแฎแแ แ แ แแแฎแแแแ. แแแขแแแแแ แจแแแแซแแแแ แแฎแแแแ แแฃแ แแแแแแจแ. แแ แแแแแแแ แแ แแแแคแแแฅแขแแแ แแกแ, แ แแ แแแแแแแชแแแก แแแแฎแแแแแแ แจแแชแแแแแแแก แแแ แแจแ แแฃแจแแแแแแก.
แฉแแฎแแแ แแกแแแ แชแฃแแ แแแแแแแ แแแแแ. แ แแแแกแแช แแแแฎแแแแแแ แแฏแแแ แแแ แ แแกแฃแ แกแแแก, แแ แแแ แแแแฎแแแแแ แแแแฆแ แฌแแแแแ แแ แ แ แแกแฃแ แกแแ แแ แแแฆแ แกแแแแขแ, แแแแ แ แแแแฎแแแแแ แแแแฆแ แฌแแแแแ แแแแ แ แ แแกแฃแ แกแแ แแ แแกแแแ แแแฆแ แแแแแแแแ, แจแแแแแ แแ แแ แแแ แแแแฎแแแแแ แแแฃแฌแแแแแแแ แแ แแแแแแแแก แ แแกแฃแ แกแแแก แแ แแแแแแแ แแแแแแแแก แแแแแแแแแก แแแแแแแแจแ. แแกแแช แแ แแแแแแฃแ แ แกแแขแฃแแชแแแ. แแกแแแ แฃแแแ แแแแแฎแแแแแแแแก แแแแแแแชแแแแแก แแแแแฌแแ แแกแ แแ แ แแกแฃแ แกแแแแ แฌแแแแแแก แกแแ แแฃแแ แแแแแก แแแแแแ. แแ แแฃ แฎแแแแแ, แ แแ แแฅแแแแ แฉแแฎแแแ แแฃแแแแแแ แแแ แแแแ, แฃแแแ แแแแแแแแแแ แแ แแแขแแแแแ แแฃแ แแแแแแจแ, แแแแแแแแแแแ แฌแแ แแแฅแแแแแ แกแแขแฃแแชแแแแ แแ แแแฎแแ แ แ แแ แแก แแ แแแแแแ.
แแ แแแแแแ แคแแแแแแ (temp_files) แแกแแแ แชแฃแแแ. แ แแแแกแแช แแแแฎแแแ แแแแแก แแแแฎแแแแแก แแ แแฅแแก แกแแแแแ แแกแ แแแฎแกแแแ แแแ แแแแ แแขแแฃแแ, แแ แแแแแแ แแแแแชแแแแแแก แแแแกแแแแแกแแแแแ, แแก แฅแแแแก แคแแแแก แแแกแแแ. แแ แงแแแแ แแแแ แแชแแ, แ แแแแแแช แแแก แจแแแซแแ แจแแแกแ แฃแแแแแแ แแแฎแกแแแ แแแแก แแ แแแแแ แแฃแคแแ แจแ, แแฌแงแแแก แจแแกแ แฃแแแแแก แฃแแแ แแแกแแแ. แแแแแ. แแก แแ แแแก แจแแแแแฎแแแก แจแแกแ แฃแแแแแก แแ แแก. แแ แแแแแแขแ, แ แแแแแแแช แแแแแแแแ แแแแฎแแแแ PostgreSQL-แแ, แแแแฆแแแก แแแกแฃแฎแก แชแแขแ แแแแแแแแแแแ. แแฃ แงแแแแ แแก แแแแ แแชแแ แจแแกแ แฃแแแแแ แแแฎแกแแแ แแแแจแ, Postgres แฃแคแ แ แกแฌแ แแคแแ แ แแแแแ แแแก แแ แแแแแแขแ แแแแแแแก แแแแแแแแแ.
pg_stat_bgwriter - แแก แฎแแแ แแฆแฌแแ แก แแ แ PostgreSQL แคแแแฃแ แ แฅแแแกแแกแขแแแแก แแฃแจแแแแแก: checkpointer
ะธ background writer
.
แแแกแแฌแงแแกแแกแแแแก แแแแแแแแแแแแ แกแแแแแขแ แแแ แฌแแ แขแแแแแ, แ.แฌ. checkpoints
. แ แ แแ แแก แกแแแฃแจแแแแแแ? แแแแจแแแแ แแฃแแฅแขแ แแ แแก แแแแแชแแ แขแ แแแแแฅแชแแแก แแฃแ แแแแจแ, แ แแแแแแช แแแฃแแแแแแก, แ แแ แแฃแ แแแแจแ แฉแแแแแแแ แแแแแชแแแแแแก แงแแแแ แชแแแแแแแ แฌแแ แแแขแแแแ แกแแแฅแ แแแแแแแฃแแแ แแแกแแแ แแ แกแแแฃแ แแแแแชแแแแแแแ. แแ แแชแแกแ, แแแขแแแ แแแแกแ แแ แแแ แแแแขแ แแแแก แแแฎแแแแแ, แจแแแซแแแแ แแงแแก แฎแแแแ แซแแแแ แแ แซแแ แแแแแแ แจแแแแแแ แแแแซแฃแ แ แแแแ แแแแแก แกแแแฅแ แแแแแแชแแแแ แกแแแ แแ แแฃแคแแ แแแจแ แแแแแชแแแแ แคแแแแแแแแ แแแกแแแ. แฒ แแกแแแแก แแ แแก? แแฃ PostgreSQL แแฃแแแแแแ แจแแแแแแ แแแกแแแ แแ แแฆแแแแ แแแแแชแแแแแก แแฅแแแแ แแ แฌแแ แแ แแแแแชแแแแแก แแแแแแฃแ แฌแแแแแแแ, แแก แแแแ แแฅแแแแแแ. แแแ แแแแ, PostgreSQL-แก แแฅแแก แแแฎแกแแแ แแแแก แกแแแแแแขแ, แ แแแแแก แแแแ แแแแแแแแแแฃแแแ แแแแคแแแฃแ แแชแแแก แแแ แแแแขแ แแแแ. Postgres แแแแแงแแคแก แแแแ แแชแแฃแ แแแแแชแแแแแก แแ แแแฎแกแแแ แแแแจแ แจแแแแแแแ แแแแฃแจแแแแแแก แแ แจแแแแแฎแแแกแแแแก. แแแแแชแแแแ แชแแแแแแแแก แแแแฎแแแแแก แจแแแแฎแแแแแจแ, แแกแแแ แแชแแแแแ. แแ แฉแแแ แแแฆแแแ แแแแแชแแแแแแก แแ แแแ แกแแแก. แแ แแ แแแฎแกแแแ แแแแจแแ, แแแแ แ แแแกแแแ. แแ แแแ แแแแฃแแแ แแญแแ แแแแแ แแ แแแแแชแแแแแแก แกแแแฅแ แแแแแแชแแ. แฉแแแ แแแญแแ แแแแ แแก, แ แแช แจแแแชแแแแ แแแฎแกแแแ แแแแจแ, แกแแแฅแ แแแแแแแฃแแ แแงแแก แแแกแแแ. แแก แแแแแฎแแแก แกแแแฃแจแแแแก.
แแแแจแแแแ แแฃแแฅแขแ แแแแแก แแแแแแ แแแฃแ แแฃแคแแ แแแจแ, แแฆแแแจแแแแก แแแแซแฃแ แแแแ แแแแก, แ แแ แแกแแแ แกแแญแแ แแ แกแแแฃแจแแแแกแแแแก. แจแแแแแ แแก แแฌแงแแแก แแแแ แ แแแแแแก แกแแแ แแ แแฃแคแแ แแแจแ. แฎแแแ แแแแ แแแแก, แ แแแแแแแช แแแแแจแแฃแแแ แกแแแฃแจแแแแกแแแแก, แแก แฃแแแ แกแแแฅแ แแแแแแแก แแแ. แแแ แแแแ, แแแแแชแแแแแ แฃแแแ แกแแแฅแ แแแแแแแฃแแแ แแแกแแแแ.
แแ แกแแแแแก แแ แ แขแแแแก แกแแแแแขแ แแแ แฌแแ แขแแแ. แแ แแ แกแแแฃแจแแแ แจแแกแ แฃแแแแฃแแแ แแแแ-แแฃแขแแ. แแก แแแแจแแแแ แแฃแแฅแขแ แกแแกแแ แแแแแ แแ แแแ แแแ - checkpoint_timed
. แแ แแแแฎแแแแแ แแ แแก แกแแแฃแจแแแแแแ - checkpoint required
. แแกแแแ แแแแจแแแแ แแฃแแฅแขแ แฎแแแแ แแแจแแ, แ แแแแกแแช แแแแฅแแก แแแแแชแแแแ แซแแแแแ แแแแ แฉแแแแฌแแ แ. แฉแแแ แฉแแแฌแแ แแ แฃแแแ แแแ แขแ แแแแแฅแชแแแก แแฃแ แแแแ. แแ PostgreSQL แแแแแก, แ แแ แแแก แกแญแแ แแแแ แ แแช แจแแแซแแแแ แกแฌแ แแคแแ แแแแฎแแแแแก แแ แงแแแแแคแ แแก แกแแแฅแ แแแแแแชแแ, แแแแจแแแแ แแฃแแฅแขแแก แแแแแแแแ แแ แแแแ แซแแแแแ.
แแ แแฃ แแแแแฎแแแแแ แกแขแแขแแกแขแแแแก pg_stat_bgwriter
แแ แแแฎแแ แ แ แแแฅแแ checkpoint_req แแแชแแแแแแ แแแแแ แแแแ แ checkpoint_timed, แแแจแแ แแก แชแฃแแแ. แ แแขแแ แชแฃแแ? แแก แแแจแแแแก, แ แแ PostgreSQL แแฃแแแแแ แกแขแ แแกแแก แฅแแแจ แแแงแแคแแแ, แ แแแแกแแช แแแก แกแญแแ แแแแ แแแแแชแแแแแแก แแแกแแแ แฉแแฌแแ แ. แกแแแแแขแ แแแ แฌแแ แขแแแ แขแแแแแฃแขแแ แแแแแแแแ แกแขแ แแกแฃแแแ แแ แจแแกแ แฃแแแแฃแแแ แจแแแ แแแแ แแแแก แแแฎแแแแแ แแ, แ แแแแ แช แแฅแแ, แแ แแแ แแแแแแแแแแแจแ แแแแแญแแแฃแแ. PostgreSQL-แก แแฅแแก แจแแกแแซแแแแแแแ แจแแแฉแแ แแก แแฃแจแแแแ แแ แแ แแแซแแแแก แแแกแแแก แฅแแแกแแกแขแแแ. แแก แกแแกแแ แแแแแแ PostgreSQL-แกแแแแก. แแ แแแแฎแแแแแแ, แ แแแแแแแช แจแแกแ แฃแแแแฃแแแ แกแแแฃแจแแแแก แแ แแก, แแ แแแแแชแแแแ แกแขแ แแกแก แแแแก แแแแ, แ แแ แแแกแแแก แฅแแแกแแกแขแแแ แแแแแแแแฃแแแ.
แแ แแ แกแแแแแก แกแแแ แแแ แแแแขแ แ แกแแแฃแจแแแแก แแแกแแ แแแฃแแแ แแแแแ:
-
ัheckpoint_segments
. -
ัheckpoint_timeout
. -
ัheckpoint_competion_target
.
แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแขแ แแแแ แกแแแแแขแ แแแ แฌแแ แขแแแแแแก แแฃแจแแแแ. แแแแ แแ แแ แแ แจแแแฉแแ แแแแ แแแแแ. แแแแ แแแแแแแ แชแแแแ แกแแแแแฎแแ.
แแแคแ แแฎแแแแแ: แแแแแ แแจแจแ แแแแแแแแกแฌแแแแแฃแแ 9.4 แแแ แกแแ แแฆแแ แแ แแก แแฅแขแฃแแแฃแ แ. PostgreSQL-แแก แแแแแแแแ แแแ แแแ แกแแแแจแ แแแ แแแแขแ แ checkpoint_segments
แจแแแชแแแแ แแแ แแแแขแ แแแแ min_wal_size
ะธ max_wal_size
.
แจแแแแแแ แฅแแแกแแกแขแแแ แแ แแก แคแแแแก แแแแฌแแ แ โ background writer
. แฒ แแก แแแแแแแก? แแก แแฃแแแแแแ แแฃแจแแแแก แแแฃแแแแแแแ แแแ แงแฃแแจแ. แแก แแกแแแแแ แแแก แแแแ แแแแก แแแแแแ แแแฃแ แแฃแคแแ แแแจแ แแ แแกแฃแคแแแแแแก แแแแซแฃแ แแแแ แแแแก, แ แแแแแแแช แแฆแแแแฉแแแก แแแกแแแ. แแแแแแ แแ, แแก แแฎแแแ แแแ แกแแแฃแจแแแแก แแแแแแแ แกแแแฃแจแแแก แจแแกแ แฃแแแแแจแ แกแแแฃแจแแแแก แแ แแก.
แแแแแ แ แแกแแแแก แแ แแก แแก แกแแญแแ แ? แแก แแแแแแแกแฌแแแแแก แแแแแแ แแแฃแ แแฃแคแแ แแแจแ แกแฃแคแแ แแแแ แแแแแก แกแแญแแ แแแแแก, แแฃ แแกแแแ แแแฃแแแแแแแแ แกแแญแแ แแแแแ (แแแแ แ แแแแแแแแแ แแ แแแฃแงแแแแแแแแ) แแแแแชแแแแแแก แแแแกแแแแแกแแแแแ. แแแแฃแจแแแ, แจแแแฅแแแ แกแแขแฃแแชแแ, แ แแแแกแแช แแแแฎแแแแ แแแแแฎแแแแ แกแฃแคแแ แแแแ แแแแก แแ แแกแแแ แฃแแแ แแ แแแ แแแแแแ แแแฃแ แแฃแคแแ แแแจแ. แแแกแขแแ แแกแ backend
แฃแแ แแแแ แแฆแแแก แแ แแงแแแแแก, แแแแแแ แแ แแคแ แแก แแแฌแแแแแ แแ แฃแฌแแแก. แแแแ แแ แแฃ แแแฃแแแแแแแแ แแกแแแ แแแแ แแแแ แแ แแ แแก, แแแฅแแแแ แฉแแ แแแแ แแ แแฌแงแแแก แแแแ แแแแแก แซแแแแแก, แ แแแ แแกแแแ แแแกแแแ แแแแแแขแแแแก แแ แแแแแแขแแแแก แกแแแฃแแแ แ แกแแญแแ แแแแแกแแแแก - แ แแช แฃแแ แงแแคแแแแ แแแกแแฎแแแ แแแแแแแ แจแแกแ แฃแแแแฃแแ แแแแฎแแแแแก แแ แแแ. แแฃ แฎแแแแแ, แ แแ แแแฅแแ แแแ แแแแขแ แ maxwritten_clean
แแแแ, แแก แแแจแแแแก, แ แแ แคแแแแก แแแแฌแแ แ แแ แแแแแแแก แแแแแก แกแแฅแแแก แแ แแฅแแแ แฃแแแ แแแแแ แแแ แแแ แแแแขแ แแแ bgwriter_lru_maxpages
แ แแแ แแแ แจแแซแแแก แแแขแ แกแแแฃแจแแแก แจแแกแ แฃแแแแ แแ แ แชแแแแจแ, แแแแกแฃแคแแแแแก แแแขแ แแแแ แแ.
แแ แแแแแ แแ แแ แซแแแแแ แกแแกแแ แแแแแ แแแฉแแแแแแแแแ buffers_backend_fsync
. Backends แแ แแแแแแแแ fsync-แก, แ แแแแแ แแก แแแแแ. แแกแแแ แแแแแแ fsync up IO stack checkpointer. แแแแจแแแ แแฃแแฅแขแก แแฅแแก แกแแแฃแแแ แ แ แแแ, แแก แแแ แแแแฃแแแ แแแฃแจแแแแแก fsync-แก แแ แกแแแฅแ แแแแแแแก แแแฎแกแแแ แแแแจแ แแ แกแแแฃแ แแแแ แแแแก แแแกแแแ แแ แกแแแฃแ แคแแแแแแแแ. แแฃ แแแแจแแแแ แฌแแ แขแแแแก แ แแแ แแแแ แแ แกแแแกแแ, แแแจแแ backend แแซแฃแแแแฃแแแ แแแแแ แแแแแแแแก fsync แแ แแก แแแแแแแก backend-แก, แแแฃ แแแแแแขแ แแแแฆแแแก แแแกแฃแฎแก แฃแคแ แ แแแแแ, แแแแ แ แจแแแซแแ. แแฃ แฎแแแแแ, แ แแ แแฅแแแ แแแฅแแ แแก แแแแจแแแแแแแ แแฃแแแ แแแขแ, แแแจแแ แแก แฃแแแ แแ แแแแแแแ แแ แงแฃแ แแแฆแแแ แฃแแแ แแแแฅแชแแแ แคแแแแก แแแแฌแแ แแก แแแ แแแแขแ แแแก แแ แแกแแแ แจแแแคแแกแแ แแแกแแแก แฅแแแกแแกแขแแแแก แแฃแจแแแแ.
แแแคแ แแฎแแแแแ: _แจแแแแแแ แขแแฅแกแขแ แแฆแฌแแ แก แ แแแแแแแชแแแกแแแ แแแแแแจแแ แแแฃแ แกแขแแขแแกแขแแแฃแ แจแแฎแแแฃแแแแแแก. แฎแแแแแแกแ แแ แคแฃแแฅแชแแแแแก แกแแฎแแแแแแก แฃแแแขแแกแแแ แแแแแแ แฅแแ Postgres 10-แจแ. แแแแแ แฅแแแแแแแก แแ แกแ แแงแ แฉแแแแชแแแแแ. xlog
on wal
ะธ location
on lsn
แคแฃแแฅแชแแแแแก/แแแฎแแแก แกแแฎแแแแแจแ แแ แ.แจ. แแแแแ แแขแฃแแ แแแแแแแแ, แคแฃแแฅแชแแ pg_xlog_location_diff()
แแฌแแแ pg_wal_lsn_diff()
._
แแฅแแช แแแแ แ แแแแฅแแก. แแแแ แแ แฉแแแ แแฎแแแแ แแแแแแ แแแแแกแแแ แแแแแแจแแ แแแฃแแ แแแแแแแ แแแญแแ แแแแ.
แแฃ แแฎแแแแแ, แ แแ แงแแแแ แแแแจแแแแแแแ แแแแแแแ แแ, แแแจแแ แแก แแแแแแฃแ แแ แแ แ แแแแแแ แแ แฉแแแแ แฉแแแ แแแกแขแแ แก.
แแก แแแฅแแกแแแขแแแแแ แแแแแชแแ แแฅ แแ แแก แแแแแชแแ แขแ แแแแแฅแชแแแก แแฃแ แแแแจแ. แแก แแฃแแแแแแ แแแ แแแแ, แแฃ แแแแแชแแแแ แแแแแจแ แแ แแก แ แแแแ แแฅแขแแแแแ: แฉแแกแแ, แฌแแจแแ แแ แ.แจ.
ัะบะพะปัะบะพ ะทะฐะฟะธัะฐะฝะพ xlog ะฒ ะฑะฐะนัะฐั
$ select
pg_xlog_location_diff(pg_current_xlog_location(),'0/00000000');
ะปะฐะณ ัะตะฟะปะธะบะฐัะธะธ ะฒ ะฑะฐะนัะฐั
$ select
client_addr,
pg_xlog_location_diff(pg_current_xlog_location(), replay_location)
from pg_stat_replication;
ะปะฐะณ ัะตะฟะปะธะบะฐัะธะธ ะฒ ัะตะบัะฝะดะฐั
$ select
extract(epoch from now() - pg_last_xact_replay_timestamp());
แแฃ แแก แงแแแแแคแแ แ แแแแกแฎแแแแแแฃแแแ, แแแจแแ แแ แแก แแแ แแแแฃแแ แฉแแแแ แฉแแแ. Lag แแ แแก แแกแแแก แฉแแแแ แฉแแแ แแแกแขแแ แแกแแแ, แแแฃ แแแแแชแแแแแ แแแแกแฎแแแแแแแ แกแแ แแแ แแแก แจแแ แแก.
แแแแแแแแแแแก แกแแแ แแแแแแ แแ แกแแแแแก:
- แแก แแ แแก แแแกแแแก แฅแแแกแแกแขแแแ, แ แแแแแแช แแแ แฃแแแแแแแแแ แคแแแแแแแก แกแแแฅแ แแแแแแชแแแก แฉแแฌแแ แแก.
- แแก แแ แแก แฅแกแแแแก แจแแกแแซแแ แจแแชแแแแแแ, แแ แฅแกแแแแก แแแแแขแแแ แแแ, แ แแแแกแแช แแแแแชแแแแแก แแ แแฅแแก แแ แ, แ แแ แแแแฆแฌแแแก แ แแแแแแแก แแ แแแก แแ แจแแฃแซแแแ แแแกแ แ แแแ แแแฃแชแแ แแแ.
- แแ แแ แแชแแกแแ แแช. แแ แแชแแกแแ แ แซแแแแแ แแจแแแแแ แจแแแแฎแแแแแ. แแ แแ แแแแฎแ แแก แแ แฏแแ แแ แกแแแฏแแ , แแแแ แแ แแก แแกแแแ แจแแแซแแแแ แแแฎแแแก.
แแ แแฅ แแ แแก แกแแแ แแแแฎแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแแซแแแแก แแแแแแแงแแแแ แกแขแแขแแกแขแแแ. แฉแแแ แจแแแแแซแแแ แจแแแแคแแกแแ แ แแแแแแแ แฉแแฌแแ แแแ แฉแแแแก แขแ แแแแแฅแชแแแก แแฃแ แแแแจแ. แแ แกแแแแแก แแกแแแ แคแฃแแฅแชแแ pg_xlog_location_diff
แแ แฉแแแ แจแแแแแซแแแ แจแแแแคแแกแแ แ แแแแแแแชแแแก แจแแคแแ แฎแแแ แแแแขแแแจแ แแ แฌแแแแแจแ. แฉแแแ แแกแแแ แแแงแแแแแ แแ แฎแแแแก แแแแจแแแแแแแแก (VIEWs).
แจแแแแจแแแ: _ pg_xlog_location-แแก แแแชแแแแdiff() แคแฃแแฅแชแแ, แจแแแแซแแแแ แแแแแแงแแแแ แแแแแแแแแแก แแแแ แแขแแ แ แแ แแแแแแแแ แแ แแ แแแแแแ แแแแ แแก. แแแแคแแ แขแฃแแ.
แฉแแแแ แฉแแแแ, แ แแแแแแช แฌแแแแแจแแ, แแ แแก แแ แแ แแแแแแขแ. แแฃ แแแกแขแแ แแ แแฅแขแแแแแ แแ แแ แแก, แขแ แแแแแฅแชแแ แแงแ แแแแฎแแแแแแ 15 แฌแฃแแแก แฌแแ แแ แแ แแ แแก แแฅแขแแแแแ แแ แแฃ แแ แฉแแแแ แฉแแแแก แแแแแแฎแแแแแ แ แแแแแแแแ, แแแแแแแฎแแแ 15 แฌแฃแแแก แฉแแแแ แฉแแแแก. แแแแก แแแแแฎแกแแแ แแแ แฆแแ แก. แแ แแแแ แจแแแซแแแแ แแแแแแฌแแแแก แกแแกแฃแแแแ, แ แแแแกแแช แฃแงแฃแ แแแ แแ แฉแแแแ แฉแแแแก.
pg_stat_all_tables แแแแแ แแ แแ แกแแกแแ แแแแแ แฎแแแแ. แแก แแฉแแแแแแก แกแขแแขแแกแขแแแแก แชแฎแ แแแแแแ. แ แแแแกแแช แแแแแชแแแแ แแแแแจแ แแแแฅแแก แชแฎแ แแแแแ, แแแกแจแ แแ แแก แแแ แแแแฃแแ แแฅแขแแแแแ, แแแ แแแแฃแแ แแแฅแแแแแแแแ, แแ แฎแแแแแแ แจแแแแแซแแแ แแแแแฆแแ แแก แแแคแแ แแแชแแ.
select
relname,
pg_size_pretty(pg_relation_size(relname::regclass)) as size,
seq_scan, seq_tup_read,
seq_scan / seq_tup_read as seq_tup_avg
from pg_stat_user_tables
where seq_tup_read > 0 order by 3,4 desc limit 5;
แแแ แแแแ, แ แแช แจแแแแแซแแแ แจแแแฎแแแแ แแ แแก แชแฎแ แแแแก แแแแแแแแแแ แฃแแ แกแแแแแ แแแ. แแแแแ แ แแชแฎแแ แแ แแแกแแแแแแก แจแแแแแ แกแฃแแแช แแ แแ แแก แชแฃแแ แแ แแ แแแฃแแแแแแก แแแแแ, แ แแ แฃแแแ แ แแฆแแชแแก แแแแแแแแ แแแญแแ แแแแ.
แแฃแแชแ, แแ แกแแแแแก แแแแ แ แแแขแ แแแ - seq_tup_read. แแก แแ แแก แ แแแแแ แกแแแแแ แแแแแแ แแแแ แฃแแแแฃแแ แ แแแแแแก แ แแแแแแแแ. แแฃ แกแแจแฃแแแ แ แแชแฎแแ แแฆแแแแขแแแ 1-แก, 000-แก, 10-แก, 000-แก, แแแจแแ แแก แฃแแแ แแแแก แแแฉแแแแแแแแแ, แ แแ แจแแแซแแแแ แแแแญแแ แแแ แกแแแแ แแแแแฅแกแแก แจแแฅแแแ แแกแ, แ แแ แฌแแแแแ แแงแแก แแแแแฅแกแแก แแแฎแแแแแ, แแ แจแแกแแซแแแแแแแ แแแแฎแแแแแก แแแขแแแแแแชแแ, แ แแแแแแแช แแงแแแแแแ แแกแแ แแแแแแแแแแ แฃแ แกแแแแแ แแแแก. แแก แแ แฎแแแแ, แแงแ.
แแแ แขแแแ แแแแแแแแ - แแแฅแแแ, แแแแฎแแแแ แแแแ OFFSET-แแ แแ LIMIT-แแ แฆแแ แก. แแแแแแแแแ, แชแฎแ แแแแก 100 แแฌแแ แแแ แแแกแแแแแ แแแฃแแแ แแ แแแแก แจแแแแแ 000 แกแแญแแ แ แกแขแ แแฅแแแ แแฆแแแ, แฎแแแ แฌแแแ แแแกแแแแแ แแแฃแแ แ แแแแแ แฃแแฃแแแแแแงแแคแแแแ. แแกแแช แชแฃแแ แจแแแแฎแแแแแ. แแ แแกแแแ แแแแฎแแแแแแ แฃแแแ แแงแแก แแแขแแแแแแ แแแฃแแ. แแ แแฅ แแ แแก แแกแแแ แแแ แขแแแ SQL แแแแฎแแแแ, แ แแแแแแแช แจแแแแซแแแแ แแแฎแแ แแ แจแแแคแแกแแ แแแฆแแแฃแแ แแแแ แแแ.
select
relname,
pg_size_pretty(pg_total_relation_size(relname::regclass)) as
full_size,
pg_size_pretty(pg_relation_size(relname::regclass)) as
table_size,
pg_size_pretty(pg_total_relation_size(relname::regclass) -
pg_relation_size(relname::regclass)) as index_size
from pg_stat_user_tables
order by pg_total_relation_size(relname::regclass) desc limit 10;
แชแฎแ แแแแก แแแแแแแก แแแฆแแแ แแกแแแ แจแแกแแซแแแแแแแ แแ แชแฎแ แแแแก แแแแแงแแแแแแ แแ แแแแแขแแแแแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแแ pg_total_relation_size()
, pg_relation_size()
.
แแแแแแแ, แแ แแก แแแขแแแ แซแแแแแแแ dt
ะธ di
, แ แแแแแแช แจแแแแซแแแแ แแแแแแงแแแแ PSQL-แจแ แแ แแกแแแ แแฎแแแแ แชแฎแ แแแแกแ แแ แแแแแฅแกแแก แแแแแแ.
แแฃแแชแ, แคแฃแแฅแชแแแแแก แแแแแงแแแแแ แแแแฎแแแ แแแ แจแแแฎแแแแ แชแฎแ แแแแแแก แแแแแแก, แแฃแแแแช แแแแแฅแกแแแแก แแแแแแแแกแฌแแแแแแ, แแ แแแแแฅแกแแแแก แแแแแแแแกแฌแแแแแแก แแแ แแจแ แแ แฃแแแ แแแแแแแแแ แแแ แแแแฃแแ แจแแคแแกแแแแแ แแแแแชแแแแ แแแแแก แแ แแแแ แแแงแ แแแแแแ, แแแฃ แ แแแแ แแแ แแแแ แแก แฉแแแแแแ, แ แ แแแขแแแกแแแแแแ แแ แฃแแแ แแแแแแขแแแแ แแแ แแแแฃแแ แแแกแแแแแแ แแแแแก แแแขแแแแแแชแแแก แจแแกแแฎแแ.
แฉแแฌแแ แแ แแฅแขแแแแแ. แ แ แแ แแก แฉแแแแฌแแ แ? แแแแแ แจแแแฎแแแแ แแแแ แแชแแแก UPDATE
โ แชแฎแ แแแแก แ แแแแแแก แแแแแฎแแแแแก แแแแ แแชแแ. แกแแแแแแแแแแจแ, แแแแแฎแแแแ แแ แแก แแ แ แแแแ แแชแแ (แแ แแแแแ แแแขแ). แแก แแ แแก แแฎแแแ แแฌแแ แแแแก แแแ แกแแแก แฉแแกแแ แแ แซแแแแ แแฌแแ แแแแก แแแ แกแแแก แแแแแจแแแ แแแซแแแแแแฃแแแ. แแแแแแแแแแแ, แแแขแแแแแฃแฃแแ แแแแ แแ แแแแกแฃแคแแแแแแก แฎแแแแแแก แแ แแแซแแแแแแฃแ แแแ แกแแแแก, แแแแแจแแแ แแก แแแแแแ แฎแแแแฎแแ แแแแแงแแแแแแกแแแแก.
แแกแแแ, แแแแแฎแแแแ แแ แแ แแก แแฎแแแแ แชแฎแ แแแแก แแแแแฎแแแแ. แแก แฏแแ แแแแแ แแแแแฅแกแแก แแแแแฎแแแแแ. แแฃ แแฅแแแ แแแฅแแ แแแแ แ แแแแแฅแกแ แแแแแแแแ, แแแจแแ แแแแแฎแแแแแ, แงแแแแ แแแแแฅแกแ, แ แแแแแจแแช แแแแแฌแแแแแแแก แแฆแแแก แแแแฎแแแแแจแ แแแแแฎแแแแฃแแ แแแแ, แแกแแแ แฃแแแ แแแแแฎแแแแก. แแ แแแแแฅแกแแแก แแกแแแ แแฅแแแแแ แแฌแแ แแแแก แแแซแแแแแแฃแแ แแแ แกแแแแ, แ แแแแแแแช แฃแแแ แแแแฌแแแแแแก.
select
s.relname,
pg_size_pretty(pg_relation_size(relid)),
coalesce(n_tup_ins,0) + 2 * coalesce(n_tup_upd,0) -
coalesce(n_tup_hot_upd,0) + coalesce(n_tup_del,0) AS total_writes,
(coalesce(n_tup_hot_upd,0)::float * 100 / (case when n_tup_upd > 0
then n_tup_upd else 1 end)::float)::numeric(10,2) AS hot_rate,
(select v[1] FROM regexp_matches(reloptions::text,E'fillfactor=(\d+)') as
r(v) limit 1) AS fillfactor
from pg_stat_all_tables s
join pg_class c ON c.oid=relid
order by total_writes desc limit 50;
แแ แแแกแ แแแแแแแแก แแแแ, UPDATE แแ แแก แแซแแแ แฌแแแแก แแแแ แแชแแ. แแแแ แแ แแแแ แแแแแ แขแแแแแ แจแแกแแซแแแแแแแ. แญแแแ hot updates
. แแกแแแ แแแแแฉแแแแแ PostgreSQL 8.3 แแแ แกแแแจแ. แแ แ แ แแ แแก แแก? แแก แแ แแก แแกแฃแแฃแฅแ แแแแแฎแแแแ, แ แแแแแแช แแ แแฌแแแแก แแแแแฅแกแแแแก แแฆแแแแแแก. แแแฃ แฉแแแ แแแแแแแฎแแแ แฉแแแแฌแแ แ, แแแแ แแ แแแแแฎแแแ แแฎแแแแ แฉแแแแฌแแ แ แแแแ แแแ (แ แแแแแแช แแแฃแแแแแก แชแฎแ แแแก) แแ แแแแแฅแกแแแ แแแแแช แแแฃแแแแแแก แแแแ แแแ แแแแแ แฉแแแแฌแแ แแ. แชแแขแ แแกแแแ แกแแแแขแแ แแกแ แแฃแจแแแแแก แแแแแแแ, แ แแชแ แแแแฃแฃแแ แแแแแก, แแแ แ แแก แฏแแญแแแแ แแฅแแก hot
แแฆแแแแแ แแ แงแแแแแคแแ แ แแแ แซแแแแแก แแฃแจแแแแแก แแแแแฅแกแแแแก แแแแแฎแแแแแก แแแ แแจแ แแ แงแแแแแคแแ แ แฎแแแแ แ แแกแฃแ แกแแแแก แแแแแแแ แฎแแ แฏแแแ.
แแ แ แแชแ แแแฅแแก n_tup_hot_upd
แแแแ, แซแแแแแ แแแ แแแ. แแก แแแจแแแแก, แ แแ แแกแฃแแฃแฅแ แแแแแฎแแแแแแ แญแแ แแแแก แแ แแก แฃแคแ แ แแแคแแ แฉแแแแแแแก แ แแกแฃแ แกแแแแก แแแแแกแแแ แแกแแ แแ แงแแแแแคแแ แ แแแ แแแแแ.
ALTER TABLE table_name SET (fillfactor = 70);
แ แแแแ แแแแแแ แแแ แแแชแฃแแแแ hot update
ov? แจแแแแแซแแแ แแแแแแแงแแแแ fillfactor
. แแก แแแแกแแแฆแแ แแแก แแแฏแแแจแแแแ แแแแแกแฃแคแแแ แกแแแ แชแแก แแแแแก แชแฎแ แแแจแ แแแแ แแแก แจแแแกแแแแกแแก INSERT-แแแแก แแแแแงแแแแแแ. แ แแแแกแแช แฉแแแแ แแแแ แแแแแก แแแแแแแแ, แแกแแแ แแแแแแแแ แแแกแแแแ แแแแ แแก, แแ แขแแแแแแ แแแกแจแ แชแแ แแแ แแแแแแก. แจแแแแแ แแฎแแแ แแแแ แแ แแแแแจแแฃแแแ. แแแแแชแแแแแ แแกแแ แแแกแแแ. แแ แแก แแ แแก แแแแฃแแแกแฎแแแแ แฅแชแแแ, fillfactor = 100%.
แจแแแกแแแแก แคแแฅแขแแ แ แจแแแแแซแแแ แแแแแงแแแแ 70%-แแ. แแแฃ แฉแแแแ แแแแแ แแแแแแงแ แแฎแแแ แแแแ แแ, แแแแ แแ แแแแ แแแก แแฎแแแแ 70% แจแแแแกแ. แ แแแแ แแจแ แแ 30% แแแแฅแแก แแแ แฉแแแแแ. แ แแแแกแแช แแฅแแแ แแญแแ แแแแแ แแแแแฎแแแแแก แแแแแแแแ, แแก แแแแ แแแแแแแแแ แแแฎแแแแ แแแแแ แแแแ แแแ แแ แ แแแแก แแฎแแแ แแแ แกแแ แแแแแแกแแแแ แแแแแ แแแแ แแแ. แแ hot_update แแแแแแแแแ. แแก แแแแแแแแแก แชแฎแ แแแแแแ แฌแแ แแก.
select c.relname,
current_setting('autovacuum_vacuum_threshold') as av_base_thresh,
current_setting('autovacuum_vacuum_scale_factor') as av_scale_factor,
(current_setting('autovacuum_vacuum_threshold')::int +
(current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples))
as av_thresh,
s.n_dead_tup
from pg_stat_user_tables s join pg_class c ON s.relname = c.relname
where s.n_dead_tup > (current_setting('autovacuum_vacuum_threshold')::int
+ (current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples));
แแแขแแแแแฃแฃแแแก แ แแแ. Autovacuum แแ แแก แแกแแแ แฅแแแกแแกแขแแแ, แ แแแแแก แกแขแแขแแกแขแแแแช แซแแแแแ แชแแขแแ PostgreSQL-แจแ. แแฎแแแแ pg_stat_activity แชแฎแ แแแแแจแ แแฎแแแแแ แ แแแแแแ แแแแฃแฃแแ แแแแฅแแก แแ แแแแแแขแจแ. แแฃแแชแ, แซแแแแแ แซแแแแแ แแแแก แแแแแแ, แแฃ แ แแแแแแ แแแแแแ แแฅแแก แ แแแจแ แแแก แแแซแ แแแแแจแ.
แจแแแแจแแแ: _ Postgres 10-แแก แจแแแแแ, แแแแฃแฃแแแก แแแแฃแฃแแแก แแแแแงแฃแ แแก แแแแแแแแก แกแแขแฃแแชแแ แซแแแแแ แแแฃแแฏแแแแกแแ - แแแแแฉแแแ pg_stat_progress แฎแแแ.แแแแฃแฃแแ, แ แแช แแแแจแแแแแแแแแ แแแแ แขแแแแแก แแแขแแแแแฃแฃแแแก แแแแแขแแ แแแแแก แกแแแแแฎแก.
แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแก แแแแแ แขแแแแแฃแแ แแแแฎแแแแ. แแ แฉแแแ แแฎแแแแแ, แ แแแแก แฃแแแ แแแแแแแแก แแแแฃแฃแแ. แแแแ แแ แ แแแแ แแ แ แแแแก แฃแแแ แแแแฌแงแแก แแแแฃแฃแแ? แแก แแ แแก แกแขแ แแฅแแแแแแก แซแแแแ แแแ แกแแแแ, แ แแแแแแแช แแแ แ แแแกแแฃแแ แ. แแแฎแแ แแแแแฎแแแแ, แฉแแกแแฃแแแ แ แแแแก แแฎแแแ แแแ แกแแ. แแแแแฉแแแ แกแขแ แแฅแแแแก แแแซแแแแแแฃแแ แแแ แกแแ. แแแแแแ pg_stat_user_tables
แแ แแก แแกแแแ แแแ แแแแขแ แ n_dead_tup
. แแก แแฉแแแแแแก "แแแแแแ แ" แ แแแแแแก แ แแแแแแแแแก. แแ แ แแแแ แช แแ แแแแแแ แ แ แแแแแแก แ แแแแแแแแ แแแ แแแแฃแ แแฆแฃแ แแแแ แแแขแ แแแฎแแแแ, แแแแแแแกแแแ แแแขแแแแแฃแฃแแ แแแแ.
แแ แ แแแแ แแแแแแแแแแแ แแก แแฆแแแ แ? แแก แแ แแก แซแแแแแ แแแแแ แแขแฃแแ แแ แแชแแแขแ แชแฎแ แแแแก แ แแแแแแก แกแแแ แแ แ แแแแแแแแแกแ. แแ แแก แแแ แแแแขแ แ autovacuum_vacuum_scale_factor
. แแก แแแแกแแแฆแแ แแแก แแ แแชแแแขแก. แแแฅแแแ 10% + แแ แแก แแแแแขแแแแแ แแแแแก แแแ แแแ แ 50 แฎแแแ. แแ แ แ แฎแแแแ? แ แแแแกแแช แชแฎแ แแแแก แงแแแแ แแฌแแ แแแแก "10% + 50"-แแ แแแขแ แแแแแแ แ แแฌแแ แแแ แแแแฅแแก, แชแฎแ แแแก แแแแแ แแแขแแแแแฃแฃแแแ.
select c.relname,
current_setting('autovacuum_vacuum_threshold') as av_base_thresh,
current_setting('autovacuum_vacuum_scale_factor') as av_scale_factor,
(current_setting('autovacuum_vacuum_threshold')::int +
(current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples))
as av_thresh,
s.n_dead_tup
from pg_stat_user_tables s join pg_class c ON s.relname = c.relname
where s.n_dead_tup > (current_setting('autovacuum_vacuum_threshold')::int
+ (current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples));
แแฃแแชแ, แแ แแก แแ แแ แฌแแ แขแแแ. แแแ แแแแขแ แแแแก แซแแ แแแแแ แแฆแฃแ แแแแแ av_base_thresh
ะธ av_scale_factor
แจแแแซแแแแ แแแแแแจแแแก แแแแแแแแฃแแแฃแ แแ. แแ, แจแแกแแแแแแกแแ, แแแ แแแ แ แแ แแฅแแแแ แแแแแแแฃแ แ, แแ แแแแ แแแแแแแแฃแแแฃแ แ แแแแแแแกแแแแก. แแแแขแแ, แแแแแกแแแแแแแแ, แแฅ แฃแแแ แแแแแแงแแแแ แฎแ แแแแแ แแ แฎแ แแแแแ. แแ แแฃ แแแแแแแขแแ แแกแแแ, แจแแแแซแแแแ แแแฎแแ Avito-แแแ แฉแแแแ แแแแแแแแแก แแแแแชแแแแแแ (แกแแแแแแ แแ แกแแแฃแแ แแแฃแแ แแ แแกแฌแแ แแ แแ แแแแแฎแแแแฃแแแ แขแแฅแกแขแจแ).
แแแแกแแแแก แฌแแ แแแแ
แ แ แจแแแแแซแแแ แแแแก แแแแแแแแ? แแฃ แแ แซแแแ แ แแแ แแแแฅแแก แแ แแแขแแแแแฃแฃแแ แแแ แฃแซแแแแก, แแแจแแ แจแแแแแซแแแ แแแแแแ แแแ แแขแแแ แกแแกแ แฃแขแแแแก แ แแแแแแแแ, แแ แฃแแ แแแแ แแแแฃแฃแแ แแแแฎแแแแ แฃแคแ แ แแแ แแกแแฃแแ.แแกแ, แ แแ แแก แฃแคแ แ แแแ แ แแแแฅแแแแแแก, แแแฃแจแแแแแก แแแแแแแก แแแขแแ แ แแแญแ แแแแ. แแ แจแแกแแแแแแกแแ, แ แแแ แจแแแชแแ แแแแ. - แแฅ แแแแแแ แแ แแแกแแแแแ แแแขแแแ แแแแก แแแแแขแแ แแแแ, แ แแแแแ. แแแแฃแฃแแ แแ แแ แแก แฃแคแแกแ, แแฃแแชแ SSD/NVMe แแแฌแงแแแแแแแแแแก แแแกแแแแกแแแ แแ แแแ แแ แแแแแแ แแแแแแแแ แจแแกแแแฉแแแแ แแแฎแแ.
pg_stat_all_indexes แแ แแก แกแขแแขแแกแขแแแ แแแแแฅแกแแแแ. แแก แแแแ แแ แแ แแก. แแ แแแกแแแ แจแแแแแซแแแ แแแแแฆแแ แแแคแแ แแแชแแ แแแแแฅแกแแแแก แแแแแงแแแแแแก แจแแกแแฎแแ. แแ แแแแแแแแแ, แฉแแแ แจแแแแแซแแแ แแแแแกแแแฆแแ แแ แ แแแแแ แแแแแฅแกแแแ แแแแฅแแก แแแแแขแแแแแ.
แ แแแแ แช แฃแแแ แแแฅแแ, แแแแแฎแแแแ แแ แ แแฎแแแแ แชแฎแ แแแแแแก แแแแแฎแแแแแ, แแ แแแแ แแแแแฅแกแแแแก แแแแแฎแแแแแช. แจแแกแแแแแแกแแ, แแฃ แแแแแแแแ แแแแฅแแก แแแแ แ แแแแแฅแกแ, แแแจแแ แชแฎแ แแแแก แ แแแแแแก แแแแแฎแแแแแกแแก แกแแญแแ แแ แแแแแฅแกแแ แแแฃแแ แแแแแแแก แแแแแฅแกแแแแก แแแแแฎแแแแแช แแ แแฃ แฉแแแ แแแแฅแแก แแแแแฃแงแแแแแแแ แแแแแฅแกแแแ, แ แแแแแแแกแแแแกแแช แแ แแ แแก แแแแแฅแกแแก แกแแแแแ แแแ, แแแจแแ แแกแแแ แฉแแแแแแ แแ แแแ แแแแแแแแ, แ แแแแ แช แแแแแกแขแ. แแ แแฅแแแ แฃแแแ แแแแชแแแแ แแกแแแ. แแแแกแแแแแก แฉแแแ แแแญแแ แแแแ แแแแ idx_scan
. แฉแแแ แฃแแ แแแแ แแฃแงแฃแ แแแ แแแแแฅแกแแก แกแแแแแ แแแแก แ แแแแแแแแแก. แแฃ แแแแแฅแกแแแก แแฅแแ แแฃแแแแแแ แกแแแแแ แแแ แกแขแแขแแกแขแแแแก แจแแแแฎแแแก แจแแแแ แแแแ แฎแแแแ แซแแแแ แแแ แแแแแก แแแแแแแแแแแจแ (แแแแแแฃแ 2-3 แแแแ แ), แแแจแแ, แกแแแแ แแฃแแแ, แแก แชแฃแแ แแแแแฅแกแแแแ, แฉแแแ แฃแแแ แแแแแจแแ แแ แแกแแแ.
แจแแแแจแแแ: แ แแแแกแแช แแซแแแ แแแแแฃแงแแแแแแ แแแแแฅแกแแแก แแแแแแแก แ แแแแแแแชแแแก แแแแกแขแแ แแแแก แจแแแแฎแแแแแจแ, แแฅแแแ แฃแแแ แจแแแแแฌแแแ แแแแกแขแแ แแก แงแแแแ แแแแแซแ, แ แแแแแ แกแขแแขแแกแขแแแ แแ แแ แแก แแแแแแแฃแ แ แแ แแฃ แแแแแฅแกแ แแ แแ แแก แแแแแงแแแแแฃแแ แแแกแขแแ แแ, แแแจแแ แแแกแ แแแแแงแแแแแ แจแแกแแซแแแแแแแ แ แแแแแแแแแ (แแฃ แแ แแก แแแขแแแ แแแ).
แแ แ แแแฃแแ:
แแก แแ แแก แฃแคแ แ แแแฌแแแแแ แจแแแแแฎแแแก แแแแแแแแแแ, แแฃ แ แแแแ แฃแแแ แแแซแแแแแ แแแแแฃแงแแแแแแแ แแแแแฅแกแแแ.
แแแแ แ แแแฃแแ แกแแแแแแ แกแแแแขแแ แแกแ แจแแแแแฎแแแ. แซแแแแแ แแ แแขแ แแแแแแฃแ แ แแแแแแแ แแฅ. แแแ แฉแแแ แแแแกแแฎแแแแแแแ.
แแแแแ แ แ แฃแแแ แแงแแก แจแแฏแแแแแฃแแ แแแแแฅแกแแแแ?
-
แแแแแฃแงแแแแแแแ แแแแแฅแกแแแ แชแฃแแแ.
-
แแกแแแ แแแแแแก แแแแแแแแ.
-
แแแแแฎแแแแแก แแแแ แแชแแแแแก แจแแแแแแแ.
-
แแแแแขแแแแแ แกแแแฃแจแแ แแแแฃแฃแแแกแแแแก.
แแฃ แแแแแฃแงแแแแแแ แแแแแฅแกแแแก แฌแแแจแแแ, แแฎแแแแ แแแแแชแแแแ แแแแแก แแแแแฃแแฏแแแแกแแแ.
แจแแแแแแ แฎแแแ แแ แแก pg_stat_activity
. แแก แแ แแก แแแแฃแแแแฃแ แ แแ แแแ แแแแก แแแแแแแ ps
แแฎแแแแ PostgreSQL-แจแ. แแฃ ps
แแฐ, แแฅแแแ แฃแงแฃแ แแแ แแ แแชแแกแแแก แแแแ แแชแแฃแ แกแแกแขแแแแจแ pg_stat_activity
แแแฉแแแแแแ แแฅแขแแแแแแก PostgreSQL-แจแ.
แ แแกแ แแฆแแแ แจแแแแแซแแแ แแฅแแแแ?
select
count(*)*100/(select current_setting('max_connections')::int)
from pg_stat_activity;
แฉแแแ แแฎแแแแแ แกแแแ แแ แแฅแขแแแแแแก, แ แแแแแแช แฎแแแแ แแแแแชแแแแ แแแแแจแ. แฉแแแ แจแแแแแซแแแ แแฎแแแ แแแแแแแแแ. แแฅ แงแแแแแคแแ แ แแคแแแฅแแ, แแฎแแแ แแแแจแแ แแแ แแ แแแแฆแแแ, แจแแชแแแแแแ แฉแแแแแ แแแแแแแชแแแจแ.
select
client_addr, usename, datname, count(*)
from pg_stat_activity group by 1,2,3 order by 4 desc;
แฉแแแ แจแแแแแซแแแ แแแแฃแจแแแ แแกแแแแกแ แจแแแแแฎแแ แแ แแแแฎแแ แแแแจแแ แแแแก แแแแแแแ แแ แแชแแแขแ แแแแจแแ แแก แแแฅแกแแแแแฃแ แแแแแขแแแ แแแแแ แแแแแจแ แแ แแแแฎแแ, แแแ แแแแฅแแก แงแแแแแแ แแแขแ แแแแจแแ แ. แแ แแ แแแชแแแฃแ แจแแแแฎแแแแแจแ, แฉแแแ แแฎแแแแแ แแ แแแแฎแแแ แแแแแก cron_role
แแแฎแกแแ 508 แแแแจแแ แ. แแ แ แแฆแแช แแแแแแ แแ แแแก. แแฅแแแ แฃแแแ แแแฃแแแแแแแแ แแแก แแ แแแฎแแ. แแ แกแแแกแแแแ แจแแกแแซแแแแแแแ, แ แแ แแก แแ แแก แแแแจแแ แแแแก แ แแแแ แกแแฎแแก แแแแแแแแฃแ แ แ แแแแแแแแ.
แแฃ แฉแแแ แแแแฅแแก OLTP แแแขแแแ แแแ, แแแแฎแแแแแแ แฃแแแ แแงแแก แกแฌแ แแคแ, แซแแแแแ แกแฌแ แแคแ แแ แแ แฃแแแ แแงแแก แแ แซแแแ แแแแฎแแแแแแ. แแฃแแชแ, แแฃ แแ แซแแแ แแแแฎแแแแแแแ, แแแจแแ แแแแแแแแแแแ แแแ แกแแแฅแขแแแแจแ แกแแแแ แแแฃแแ แแ แแคแแ แแ, แแแแ แแ แแ แซแแแแแแแแ แแแ แกแแแฅแขแแแแจแ, แฎแแแแ แซแแแแ แแแแฎแแแแแแ แแแแแก แแงแแแแแก แแแแแชแแแแ แแแแแก, แแกแแแ แแ แแแก แชแฎแ แแแแแแก bloat แแคแแฅแขแก, แ แแแแกแแช แฎแแแแ แชแฎแ แแแแก แคแ แแแแแแขแแชแแ. แแ แแแ bloat แแ แฎแแแแ แซแแแแ แแแแฎแแแแแแ แฃแแแ แแแแแแแฃแ แแแก.
select
client_addr, usename, datname,
clock_timestamp() - xact_start as xact_age,
clock_timestamp() - query_start as query_age,
query
from pg_stat_activity order by xact_start, query_start;
แแแฎแแแ แแแแแแแแแกแฌแแแแ: แแกแแแ แแแแฎแแแแแ แฉแแแ แจแแแแแซแแแ แแแแแกแแแฆแแ แแ แฎแแแแ แซแแแแ แแแแฎแแแแแแ แแ แขแ แแแแแฅแชแแแแ. แฉแแแ แแแงแแแแแ แคแฃแแฅแชแแแก clock_timestamp()
แกแแแฃแจแแ แแ แแแก แแแกแแแแแแแ. แแ แซแแแ แแแแฎแแแแแแ, แ แแแแแแแช แแฆแแแแแฉแแแแ, แจแแแแแซแแแ แแแแแแแฎแกแแแ แแ แแกแแแ, แจแแแแกแ แฃแแแ แแกแแแ explain
, แแแแแฎแแแ แแแแแแแก แแ แ แแแแ แแ แแแขแแแแแแชแแ. แฉแแแ แแแฆแแแ แแแแแแแแ แ แแ แซแแ แแฎแแแแแแก แแ แแชแฎแแแ แแแ.
select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';
แชแฃแแ แขแ แแแแแฅแชแแแแ แแ แแก แฃแแแฅแแแแ แขแ แแแแแฅแชแแแจแ แแ แฃแแแฅแแแแ แขแ แแแแแฅแชแแแก (แจแแฌแงแแแขแแแ) แขแ แแแแแฅแชแแแแจแ.
แฒ แแก แแแจแแแแก? แขแ แแแแแฅแชแแแแก แแฅแแก แแ แแแแแ แแแแแแแ แแแแ. แแ แแ แ-แแ แ แแ แแแแแแแ แแแแแก แจแแฃแซแแแ แแแแแกแแแแ แแ แแก แแแแฆแแก. แแ แแก แแแแ แกแแฎแแแแฌแแคแแแแแก แแแแกแแแฆแแ แแกแแแแก state
แแ แแแแแกแแแ แแกแแ. แแ แฉแแแ แแแงแแแแแ แแแก แแแแแแแ แแแแแก แแแกแแแแแแแ.
select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';
แแ, แ แแแแ แช แแแแแ แแแฅแแ, แแก แแ แ แกแแฎแแแแฌแแคแ แฃแแแฅแแแแ แขแ แแแแแฅแชแแแจแ แแ แฃแแแฅแแแแ แขแ แแแแแฅแชแแแจแ (แจแแฌแงแแแขแแแ) แชแฃแแแ. แ แ แแ แแก แแก? แแ แแ แแก แแแแแแแชแแแ แแแฎแกแแ แขแ แแแแแฅแชแแ, แจแแแกแ แฃแแ แ แแแแแแแแ แแแฅแแแแแแ แแ แแแแแแ แซแ แแแแแกแ แกแแฅแแ. แแแ แแแแแ แฆแแ แ แฉแแแ. แแก แแแแแ, แแแกแจแ แแ แแคแแ แ แฎแแแแ, แแก แแฆแแแก แแแแจแแ แก, แแแแขแแแ แจแแชแแแแ แ แแแแแจแ แแ แแแขแแแชแแฃแ แแ แแ แแแก แกแฎแแ แชแฎแ แแแแแแก แแแแแขแแแกแแช แแ, Postrges-แแก แขแ แแแแแฅแชแแแก แซแ แแแแก แแ แฅแแขแแฅแขแฃแ แแก แแแแ. แแ แแกแแแ แขแ แแแแแฅแชแแแแแช แฃแแแ แแงแแก แแแแแฆแแแฃแแ, แ แแแแแ แกแแแแแแแ แแแแแแแ, แแแแแกแแแแ แจแแแแฎแแแแแจแ.
แแฃ แฎแแแแแ, แ แแ แแฅแแแ แแแฅแแ 5-10-20-แแ แแแขแ แแแแแแแ แแฅแแแแก แแแแแชแแแแ แแแแแจแ, แแแจแแ แฃแแแ แแแแ แแแฃแแแ แแ แแแแฌแงแแ แแแแแแ แ แแแแแก แแแแแแแแ.
แแฅ แฉแแแ แแกแแแ แแแงแแแแแ แแแแแแแ แแจแแแแก แแ แแก clock_timestamp()
. แฉแแแ แแแฆแแแ แขแ แแแแแฅแชแแแแก, แแแฎแแ แชแแแแแแ แแแแแแแชแแแก แแแขแแแแแแชแแแก.
แ แแแแ แช แแแแแ แแแฅแแ, แกแแแแขแแแ แแ แแก, แ แแแแกแแช แแ แ แแ แแแขแ แขแ แแแแแฅแชแแ แแแแแฃแ แแแชแแแก แฃแฌแแแก แแ แแ แแ แฏแแฃแคแแก แ แแกแฃแ แกแแแก. แแแแกแแแแแก แฉแแแ แแแแฅแแก แแแแ waiting
แแแแแแฃแ แ แแแแจแแแแแแแแ true
แแ false
.
แแแ แแแแแ - แแก แแแจแแแแก, แ แแ แแ แแชแแกแ แแแแแแแ, แ แแฆแแช แฃแแแ แแแแแแแแก. แ แแแแกแแช แแ แแชแแกแ แแแแแแแ, แแแจแแ แแแแแแขแ, แ แแแแแแแช แแแแฌแงแ แแ แแชแแกแ, แแกแแแ แแแแแแแ. แแแแแแขแ แแ แแฃแแแ แจแ แแแก แแ แแกแแแ แแแแแแแ.
แแแคแ แแฎแแแแแ: _แแแฌแงแแแฃแแ Postgres 9.6-แแแ, แแแแ waiting
แแแแฆแแแฃแแแ แแ แฉแแแแชแแแแแฃแแแ แแแแแ แแ แ โโแแแคแแ แแแชแแฃแแ แแแแแ wait_event_type
ะธ wait_event
._
แ แ แฃแแแ แแแแแแแแแ? แแฃ แแแแ แฎแแแก แแแแแแแแแแแจแ แฎแแแแแ แกแแแแ แแแแก, แแแจแแ แฃแแแ แแแแชแแแแ แแกแแแ แแแแฎแแแแแแ. แฉแแแ แฃแแ แแแแ แแแฆแแแ แแกแแ แแแ แแแแแแแก. แฉแแแ แแฌแแ แ แแแแแแแแแ แแแก, แ แแช แฃแแแ แแงแแก แแแขแแแแแแ แแแฃแแ, แ แแแ แแ แแแฎแแแก แ แแกแฃแ แกแแแแก แ แแแแ. แจแแแแแ แแ แแแแแแแแแ แแแ แแแแแแแชแแแก แแแขแแแแแแชแแแก แฃแแแแแแแ แแกแ, แ แแ แแก แแ แแแฎแแแก.
แแ แฃแแแแฃแ แแกแ, แแแแ แแ แแแขแแแชแแฃแ แแ แแ แ แคแแขแแแฃแ แ แจแแแแฎแแแแแ แฉแแฎแแแแก แฌแแ แแแฅแแแ. แแ แแ แขแ แแแแแฅแชแแแ แแแแแแฎแแ แแ แ แ แแกแฃแ แกแ, แจแแแแแ แแแ แฎแแแแฎแแ แฌแแแแแแแ, แฃแแแ แกแแแแ แแกแแแ แ แ แแกแฃแ แกแแแแ. PostgreSQL แแ แจแแแแฎแแแแแจแ แแฆแแแก แแ แฌแงแแแขแก แขแ แแแแแฅแชแแแก, แ แแแ แแแแ แแ แแแแแ แซแแแแก แแฃแจแแแแ. แแก แแ แแก แฉแแฎแฃแ แ แกแแขแฃแแชแแ แแ แแแก แแ แแกแแแก แกแแแฃแแแ แ แแแแ. แแแแขแแ, PostgreSQL แแซแฃแแแแฃแแแ แแแแฆแแก แฃแแแแฃแ แแกแ แแแแแแ.
แแ แแฅ แแ แแก แแ แ แแแแฎแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแงแฃแ แ แแแแแแแ แกแแแแขแแแก. แฉแแแ แแแงแแแแแ แฎแแแก pg_locks
, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแงแฃแ แ แแแแแแแ แแซแแแ แกแแแแขแแแก.
แแ แแแ แแแแ แแแฃแแ แแ แแก แแแแแ แแแแฎแแแแแก แขแแฅแกแขแ. แกแแแแแแ แแ แซแแแแ.
แแ แแแแ แ แแแฃแแ แแ แแก แกแขแแขแแ แกแแแแขแแแแก แจแแกแแฎแแ. แฌแแกแแแแแฎแแ แกแแกแแ แแแแแแ, แซแแแแแ แกแแแแขแแ แแกแแ.
แแแจ แ แแก แแฎแแแแแ? แฉแแแ แแฎแแแแแ แแ แแแแฎแแแแแก. แแแ แแแแแ ALTER TABLE
แแ แแก แแแแแแ แแแแแ แขแ แแแแแฅแชแแ. แแแแฌแงแ, แแแแ แแ แแ แแแกแ แฃแแแแฃแแ แแ แแแแแแแชแแ, แ แแแแแแแช แแก แขแ แแแแแฅแชแแ แแแแแแฅแแแงแแ, แกแแแฆแแช แกแฎแแ แ แแแแแแก แแแแแแแก. แแ แแแแ แ แแแแฎแแแแ แแ แแก แแแแแฎแแแแ. แแก แแแแแแแ แจแแชแแแแก แชแฎแ แแแแก แแแกแ แฃแแแแแก, แกแแแแ แแแแแแ แซแแแก แแฃแจแแแแแก.
แแกแ แจแแแแแซแแแ แแแแแ แแแแแ แแแ แแแก แฉแแแแขแ, แแแ แแแก แฃแญแแ แแแก แแ แแแแก แจแแแแแแ แแแแฃแแแแแแแแ.
แจแแแแแแ แแแแฃแแ แแ แแก pg_stat_statements
. แ แแแแ แช แแแฅแแ, แแก แแ แแก แแแแฃแแ. แแแก แแแแแกแแงแแแแแแแ, แแฅแแแ แฃแแแ แฉแแขแแแ แแแ แแแกแ แแแแแแแแแแ แแแแคแแแฃแ แแชแแแจแ, แแแแแขแแแ แแแ PostgreSQL, แแแแแแกแขแแแแ แแ แแแแฃแแ (แแ แแ แแ แซแแแแแแ) แแ แจแแแแแ แแแแฅแแแแ แแฎแแแ แฎแแแ.
Cัะตะดะฝะตะต ะฒัะตะผั ะทะฐะฟัะพัะฐ ะฒ ะผะธะปะธัะตะบัะฝะดะฐั
$ select (sum(total_time) / sum(calls))::numeric(6,3)
from pg_stat_statements;
ะกะฐะผัะต ะฐะบัะธะฒะฝะพ ะฟะธัััะธะต (ะฒ shared_buffers) ะทะฐะฟัะพัั
$ select query, shared_blks_dirtied
from pg_stat_statements
where shared_blks_dirtied > 0 order by 2 desc;
แ แ แจแแแแแซแแแ แแแแฆแแ แแฅแแแแ? แแฃ แแกแแฃแแ แแแ แแแ แขแแ แ แแฆแแชแแแแแ, แจแแแแแซแแแ แแแแฆแแ แจแแแแแฎแแแก แจแแกแ แฃแแแแแก แกแแจแฃแแแ แแ แ. แแ แ แแแ แแแแ, แ แแช แแแจแแแแก, แ แแ PostgreSQL แแแแ แ แแแแแ แแแก แแ แ แแฆแแชแแก แแแแแแแแแ แกแแญแแ แ.
แฉแแแ แจแแแแแซแแแ แแแแแแแฎแแ แแแแแชแแแแ แแแแแจแ แงแแแแแแ แแฅแขแแฃแ แ แฉแแฌแแ แแก แขแ แแแแแฅแชแแแแ, แ แแแแแแแช แชแแแแก แแแแแชแแแแแก แแแแแแ แแแฃแ แแฃแคแแ แแแจแ. แแแฎแแ, แแแ แแแแแแฎแแแแก แแ แฌแแจแแแก แแแแแชแแแแแก แแฅ.
แแ แฉแแแ แจแแแแแซแแแ แฃแแ แแแแ แแแแแแฎแแแแ แกแฎแแแแแกแฎแแ แกแขแแขแแกแขแแแแก แแ แแแแฎแแแแแแแกแแแแก.
แฉแแแ pg_stat_statements
แแแแแแงแแแแแ แแแแแ แแจแแแแก แจแแกแแฅแแแแแแ. แฉแแแ แแฆแแแแแแแ แกแขแแขแแกแขแแแแก แแฆแแจแ แแ แแฎแแ. แแแแแแ แแแแ แแแ. แจแแแแแ แฏแแ แแ แกแขแแขแแกแขแแแแก แแแแแขแแแ แแแแแแ, แฉแแแ แแแแแแแแแ แแแแแ แแจแก. แแฅ แแแชแแแฃแแแ แแแแแ แแจแแก แแแฃแแ. แจแแแแซแแแแ แฃแงแฃแ แแ.
แฒ แแก แแแแแแแแ? แฉแแแ แแแแแแแ แแจแแแ แกแแแ แแ แกแขแแขแแกแขแแแแก แงแแแแ แแแแฎแแแแแกแแแแก. แจแแแแแ, แแแแแแฃแแ แจแแแแแฎแแแกแแแแก, แฉแแแ แแแแแแแ แแแก แแแแแแแแฃแแแฃแ แฌแแแแแก แแ แกแแแ แแ แกแขแแขแแกแขแแแแจแ.
แแ แ แ แแแแฎแแ? แฉแแแ แจแแแแแซแแแ แแแแแแแฎแแ แแแแแ แแขแฃแแ แขแแแแก แงแแแแ แแแแฎแแแแแก แจแแกแ แฃแแแแแก แแแแแแแ แแ แ แงแแแแ แกแฎแแ แแแแฎแแแแแก แคแแแแ. แฉแแแ แจแแแแแซแแแ แจแแแฎแแแแ CPU แแ I/O แแแแแงแแแแแแก แกแแแ แแ แกแฃแ แแแแแ แแแแแ แแแแแจแ. แแ แฃแแแ แแ แแแแฎแแแแแแแก แแแขแแแแแแชแแ. แฉแแแ แแ แแแฎแกแแแแแแก แกแแคแฃแซแแแแแ แแฅแแแแ แกแแฃแแแแแกแ แจแแแแแฎแแแแก แแ แฃแแแ แแแฆแแแ แกแแคแแฅแ แแแก แแแแก แจแแกแแฎแแ, แแฃ แ แ แฃแแแ แแแแแฃแแฏแแแแกแแ.
แ แ แแแแฅแแก แแฃแแแกแแแจแ? แฏแแ แแแแแ แแ แแก แ แแแแแแแแ แแแแชแฎแแแแแ, แ แแแแแแช แแ แแแแแแฎแแแ, แ แแแแแ แแ แ แจแแแฆแฃแแฃแแแ.
แแ แกแแแแแก pgstattuple
แแกแแแ แแ แแก แแแแแขแแแแแ แแแแฃแแ แกแขแแแแแ แขแฃแแ แฌแแแแแแก แแแแแขแแแแ. แแก แกแแจแฃแแแแแแก แแแซแแแแ แจแแแคแแกแแ bloat
แแแแแแแแ, แ.แฌ. แแแแแแแก แคแ แแแแแแขแแชแแ. แแ แแฃ แคแ แแแแแแขแแชแแ แแแแแ, แแฅแแแ แฃแแแ แแแแแฆแแ แแแ, แแแแแแงแแแแ แกแฎแแแแแกแฎแแ แฎแแแกแแฌแงแแแแ. แแ แคแฃแแฅแชแแ pgstattuple
แแฃแจแแแแก แแแแ แฎแแแก แแแแแแแแแแแจแ. แแ แ แแช แแแขแ แชแฎแ แแแ, แแแ แฃแคแ แ แแแแฎแแแก แแแฃแจแแแแแก.
แจแแแแแแ แฌแแแแแ แแ แแก pg_buffercache
. แแก แกแแจแฃแแแแแแก แแแซแแแแ แจแแแแแฌแแแ แแแแแแ แแแฃแแ แแฃแคแแ แแแ: แ แแแแแแแ แแแขแแแกแแฃแ แแ แแ แ แแแแแ แชแฎแ แแแแแแกแแแแก แแแแแแงแแแแแ แแฃแคแแ แฃแแ แแแแ แแแแ. แแ แแก แฃแแ แแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแฎแแแแ แกแแแ แแ แแฃแคแแ แแแก แแ แจแแแคแแกแแ แ แ แฎแแแแ แแฅ.
แจแแแแแแ แแแแฃแแ แแ แแก pgfincore
. แแก แกแแจแฃแแแแแแก แแแซแแแแ แจแแแกแ แฃแแแ แแแแแแ แแแแแก แชแฎแ แแแแก แแแแ แแชแแแแ แกแแกแขแแแฃแ แ แแแ แแก แกแแจแฃแแแแแแ mincore()
, แแแฃ แกแแจแฃแแแแแแก แแแซแแแแ แฉแแขแแแ แแแ แชแฎแ แแแ แแแแแแ แแแฃแ แแฃแคแแ แแแจแ, แแ แแแแแแขแแแ แแแ แแแ. แแ แแก แกแแจแฃแแแแแแก แแซแแแแก, แกแฎแแ แกแแแแแฎแแแแแ แแ แแแ, แจแแแแแฌแแแก แแแแ แแชแแฃแแ แกแแกแขแแแแก แแแแ แแแก แฅแแจแ, แแแฃ แ แแแแแแก แแแแแแแก แชแฎแ แแแ แแแแ แแแก แฅแแจแจแ, แแแแแแ แแแฃแ แแฃแคแแ แแแจแ แแ แฃแแ แแแแ แกแแจแฃแแแแแแก แแแซแแแแ แจแแแคแแกแแ แแแขแแแ แแแ แแแแแแแแ.
แจแแแแแแ แแแแฃแแ แแ แแก pg_stat_kcache
. แแก แแกแแแ แแงแแแแแก แกแแกแขแแแฃแ แแแ แก getrusage()
. แแ แแก แแกแ แฃแแแแก แแแก แแแแฎแแแแแก แจแแกแ แฃแแแแแแแ แแ แจแแแแแ. แแ แแแฆแแแฃแ แกแขแแขแแกแขแแแแจแ, แแก แกแแจแฃแแแแแแก แแแแซแแแแก แแแแแแแแแแแ แ แแแแแแ แแแฎแแ แฏแ แฉแแแแ แแแแฎแแแแ แแแกแแแ I/O, แแแฃ แแแแ แแชแแแแ แคแแแแฃแ แกแแกแขแแแแกแแแ แแ แฃแงแฃแ แแแก แแ แแชแแกแแ แแก แแแแแงแแแแแแก. แแฃแแชแ, แแแแฃแแ แแฎแแแแแแ แแแ (แฎแ-แฎแ) แแ แแแกแ แแฃแจแแแแแกแแแแก แกแแญแแ แแ PostgreSQL 9.4 แแ pg_stat_statements, แ แแช แแแ แ แแแฎแกแแแ.
-
แกแขแแขแแกแขแแแแก แแแแแงแแแแแแก แฃแแแ แ แกแแกแแ แแแแแแ. แแฅแแแ แแ แแญแแ แแแแแ แแแกแแแ แแฎแแ แแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ. แจแแแแซแแแแ แแแฎแแ, แแแฎแแ, แแแแแแแแ แ แแแ, แจแแแกแ แฃแแแ.
-
แกแขแแขแแกแขแแแแก แแแแแงแแแแแ แแแ แขแแแแ, แแก แแ แแก แแแ แขแแแ SQL. แแฅแแแ แจแแแแ แแแแ แแแแฎแแแแ, แจแแแแแแแแ, แแแแแแแแแ, แจแแฎแแแแ.
-
แกแขแแขแแกแขแแแ แแฎแแแ แแแ แแแแฎแแแแแ แแแกแฃแฎแแก แแแชแแแแก. แแฃ แแฅแแแ แแแฅแแ แจแแแแแฎแแแแ, แแแแแ แแแ แกแขแแขแแกแขแแแแก - แจแแฎแแแแ, แแแแแแขแแแแ แแแกแแแแแแ, แแแแแแแแแแแ แจแแแแแแแ.
-
แแ แแฅแกแแแ แแแแแขแ. แแแแ แ แแแแฎแแแแ, แแแแ แ แแแแแชแแแ. แแฅแแแ แงแแแแแแแแก แจแแแแซแแแแ แแ แกแแแฃแแ แจแแแแแฎแแแก แแแขแแแแแแชแแ. แแฅแแแ แจแแแแซแแแแ แแแแแแแแ แแแแฎแแแแแก แกแแแฃแแแ แ แแแ แกแแ, แ แแแแแแช แแฅแแแแแแแก แฃแคแ แ แจแแกแแคแแ แแกแแ, แแแแ แ แแ แแแแแแแ แแ แแแแแแงแแแแ แแแ.
แแแขแแ แแขแฃแ แ
แแแฅแแแแ แแแฃแแแแ, แ แแแแแแแช แแแแแแแ แแฅแแ แกแขแแขแแแจแ, แ แแแแแก แกแแคแฃแซแแแแแแช แแงแ แแแฎแกแแแแแแจแ.
แแแขแแ แ แแแฌแแ แ แแแขแ
แกแขแแขแแกแขแแแแก แจแแแแ แแแแแแแ
แกแแกแขแแแแก แแแแแแแกแขแ แแ แแแแก แคแฃแแฅแชแแแแ
แแแแฃแแแแแก แฌแแแแแ
SQL แแแแฃแแแแฃแ แ แแ sql แแแแแก แแแแแแแแแแ
แแแแ แแแแแแแ แงแฃแ แแแฆแแแแกแแแแก!
แฌแงแแ แ: www.habr.com