แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜แƒก 2015 แƒฌแƒšแƒ˜แƒก แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒขแƒ แƒแƒœแƒกแƒ™แƒ แƒ˜แƒคแƒชแƒ˜แƒ "แƒฆแƒ แƒ›แƒ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ PostgreSQL-แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜"

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒกแƒ’แƒแƒœ: แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•, แƒ แƒแƒ› แƒ”แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ แƒ“แƒแƒ—แƒแƒ แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 2015 แƒฌแƒšแƒ˜แƒก แƒœแƒแƒ”แƒ›แƒ‘แƒ แƒ˜แƒ— - แƒ’แƒแƒ•แƒ˜แƒ“แƒ 4 แƒฌแƒ”แƒšแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ แƒ’แƒแƒ•แƒ˜แƒ“แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ. แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜ แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ 9.4 แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜. แƒ‘แƒแƒšแƒ 4 แƒฌแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ 5 แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒกแƒ˜แƒแƒฎแƒšแƒ”, แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ แƒ“แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒกแƒแƒšแƒ แƒ™แƒ˜ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒแƒ แƒแƒ แƒ”แƒšแƒ”แƒ•แƒแƒœแƒขแƒฃแƒ แƒ˜แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒ”, แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ˜ แƒแƒ› แƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒจแƒ•แƒœแƒ, แƒ แƒแƒ—แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ”แƒงแƒ•แƒแƒœแƒ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜. แƒ”แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ” แƒแƒ  แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒฌแƒ”แƒ แƒ˜แƒ, แƒ‘แƒ”แƒ•แƒ แƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒกแƒฃแƒš แƒกแƒฎแƒ•แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ.

PostgreSQL DBMS แƒแƒ แƒ˜แƒก แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒ“แƒ แƒ”แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒก DBMS-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒ–แƒ”. แƒ”แƒฅแƒกแƒžแƒšแƒฃแƒแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ’แƒ แƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒ“แƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— PostgreSQL-แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒšแƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ‘แƒ”แƒ•แƒ แƒ˜แƒ แƒ“แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ˜แƒ—แƒแƒ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜. แƒแƒ› แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒžแƒ แƒ”แƒขแƒแƒชแƒ˜แƒ แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒแƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒแƒ แƒ“แƒ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก โ€žแƒ–แƒแƒแƒžแƒแƒ แƒ™แƒจแƒ˜โ€œ แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” DBA-แƒ˜แƒช.
แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜


แฒกแƒแƒฆแƒแƒ›แƒ แƒ›แƒจแƒ•แƒ˜แƒ“แƒแƒ‘แƒ˜แƒกแƒ แƒ›แƒ” แƒ›แƒฅแƒ•แƒ˜แƒ แƒแƒšแƒ”แƒฅแƒกแƒ˜. แƒ แƒแƒ’แƒแƒ แƒช แƒ˜แƒšแƒ˜แƒแƒ› แƒ—แƒฅแƒ•แƒ, PostgreSQL แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒ–แƒ” แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

PostgreSQL แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ. PostgreSQL-แƒก แƒแƒฅแƒ•แƒก แƒแƒ แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ. แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜. แƒ“แƒ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ›แƒ” แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ PostgreSQL แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ•แƒ˜แƒ›แƒกแƒฏแƒ”แƒšแƒแƒ— แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ–แƒ” แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒ’แƒแƒ•แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒแƒ— แƒ˜แƒ’แƒ˜.

แƒ›แƒ” แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒฅแƒ•แƒ— แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒฅแƒแƒœแƒ“แƒ”แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜? แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜ แƒ›แƒ” แƒแƒ  แƒจแƒ”แƒ•แƒ”แƒฎแƒ”แƒ‘แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒ—แƒ”แƒ›แƒ แƒชแƒแƒšแƒ™แƒ” แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ˜แƒฆแƒ”แƒ‘แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒแƒก แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒแƒ‘แƒ แƒ˜แƒ• แƒ“แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ˜แƒ• แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ–แƒ”.

แƒ“แƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ”แƒ‘แƒ˜, แƒ›แƒ” แƒแƒ  แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒ”แƒ‘ แƒ”แƒ แƒ— แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒก แƒ›แƒ”แƒแƒ แƒ”แƒกแƒ—แƒแƒœ. แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒ›แƒแƒ“แƒ˜แƒ—, แƒ”แƒก แƒ“แƒแƒ•แƒแƒœแƒ”แƒ‘แƒแƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ›แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒแƒ—, แƒ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ. แฒ”แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒฃแƒจแƒ˜แƒจแƒ แƒแƒ“. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ SQL แƒ“แƒ SQL-แƒ˜แƒก แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒชแƒแƒ“แƒœแƒ.

แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— PostgreSQL-แƒก แƒ“แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒœแƒแƒฎแƒแƒ•แƒแƒ“, แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— โ€žแƒจแƒแƒ• แƒงแƒฃแƒ—แƒกโ€œ. แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ แƒแƒฆแƒแƒชแƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ แƒ“แƒ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒฌแƒแƒ แƒ›แƒแƒ•แƒ˜แƒ“แƒ’แƒ”แƒœแƒ—, แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ แƒ˜แƒฅ, แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ. แƒ›แƒแƒ’แƒ แƒแƒ›, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒจแƒแƒ•แƒ˜ แƒงแƒฃแƒ—แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— CPU-แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก top, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒ•แƒซแƒšแƒ”แƒ‘แƒ— PostgreSQL-แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒฉแƒแƒฎแƒ”แƒ“แƒ•แƒแƒก. แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ, แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ— แƒกแƒแƒ“ แƒ˜แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒ แƒ“แƒ แƒ. แƒ—แƒฃ PostgreSQL-แƒก แƒฌแƒแƒ แƒ›แƒแƒ•แƒแƒ“แƒ’แƒ”แƒœแƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ’แƒแƒชแƒ”แƒ›แƒ แƒกแƒแƒ“ แƒ˜แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒ แƒ“แƒ แƒ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒ แƒแƒ›: แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช PostgreSQL แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“.

แƒ—แƒฃ แƒ–แƒ”แƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒ”แƒœแƒ แƒ™แƒฃแƒ—แƒฎแƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒก, แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜. แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒแƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒก. แƒ“แƒแƒ›แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜ แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ”แƒ‘แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ’แƒ”แƒ’แƒ›แƒแƒก. แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒแƒฆแƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜แƒก I/O แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ—แƒแƒœ. แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ–แƒแƒœแƒแƒจแƒ˜, แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— "แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒ˜". แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜, แƒ—แƒฃ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒฌแƒแƒจแƒšแƒ˜แƒšแƒ˜แƒ, แƒฉแƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜ WAL-แƒจแƒ˜. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ“แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜ แƒแƒœ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒจแƒ˜. แƒ“แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ—.

แƒ แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒ—? แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ  แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒจแƒฃแƒฅแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜: แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒ•แƒขแƒแƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜, แƒ’แƒแƒ›แƒจแƒ•แƒ”แƒ‘แƒ˜ แƒžแƒฃแƒœแƒฅแƒขแƒ˜, แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜, แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ. แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒ—แƒ’แƒแƒœแƒก แƒจแƒ”แƒ•แƒ”แƒฎแƒ”แƒ‘แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฅแƒ•แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก?

  • แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ. PostgreSQL 9.4 แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— 109 แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒœแƒแƒฎแƒแƒ•แƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฃ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ‘แƒ”แƒ•แƒ  แƒชแƒฎแƒ แƒ˜แƒšแƒก, แƒกแƒฅแƒ”แƒ›แƒแƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒ แƒแƒ•แƒšแƒ“แƒ”แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ–แƒ”. แƒแƒœแƒฃ แƒแƒ แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ. แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ.
  • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒฃ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ•แƒœแƒแƒฎแƒแƒ•แƒ— แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ›แƒ–แƒแƒ แƒ“ แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒก. แƒ“แƒ แƒ—แƒฃ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ“แƒ แƒ แƒ’แƒแƒ•แƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ›แƒ˜แƒšแƒ˜แƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก. แƒ“แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒก แƒ’แƒ•แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ˜แƒแƒœ.
  • แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ—แƒฃ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ’แƒแƒฅแƒ•แƒก, แƒ แƒแƒฆแƒแƒช 15-30 แƒฌแƒฃแƒ—แƒ˜แƒก แƒฌแƒ˜แƒœ แƒ“แƒแƒ”แƒชแƒ, แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒ•แƒ”แƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒ“แƒ แƒœแƒแƒฎแƒแƒ• แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ 15-30 แƒฌแƒฃแƒ—แƒ˜แƒก แƒฌแƒ˜แƒœ. แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ.
  • PostgreSQL-แƒจแƒ˜ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ. แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ”แƒœ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก. แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒแƒฅแƒ•แƒ—. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ˜แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ˜แƒ’แƒ˜, แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ— แƒ›แƒแƒก, แƒ แƒแƒช แƒ’แƒ˜แƒœแƒ“แƒแƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ—.
  • แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ PostgreSQL-แƒจแƒ˜ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ”แƒก แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก. แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒ›แƒ”แƒข-แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜, แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ. แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒก แƒแƒฅแƒ•แƒก แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒกแƒฎแƒ•แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒแƒœ แƒแƒ แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ. แƒ“แƒ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ แƒ˜ แƒแƒœ แƒกแƒแƒ›แƒ˜ แƒแƒœ แƒแƒ—แƒฎแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒแƒ•แƒก แƒ“แƒ แƒแƒฅแƒ•แƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒฃแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒแƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒ แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒแƒฅแƒ”แƒ“แƒแƒœ? แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ› แƒจแƒ”แƒซแƒšแƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒแƒฆแƒ”แƒ‘แƒ, แƒ แƒแƒ—แƒ แƒแƒ  แƒ˜แƒงแƒแƒ— แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ–แƒ”, แƒแƒœ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒ’แƒแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒแƒ— แƒ”แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜ แƒ—แƒแƒ•แƒแƒ“: แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“.

แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— SQL-แƒ˜แƒก แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒชแƒแƒ“แƒœแƒ. แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— SQL แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒแƒœแƒฃ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ”แƒ— แƒ แƒแƒ’แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒ แƒฉแƒ”แƒ•แƒ, แƒจแƒ”แƒ”แƒ แƒ—แƒ”แƒ‘แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒ‘แƒ”แƒ•แƒ  แƒ แƒแƒ›แƒ”แƒก แƒ’แƒ•แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒงแƒแƒก แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒ”แƒ‘แƒแƒ“.

  • แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ: แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ, แƒแƒ•แƒขแƒแƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜, แƒฉแƒแƒ“แƒ”แƒœแƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒแƒ. แƒแƒ› แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ. แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒแƒ› แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒก.
  • แƒ›แƒ”แƒแƒ แƒ” แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒ แƒแƒ แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ›แƒ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒ แƒ“แƒแƒก, แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ–แƒ แƒ“แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒแƒจแƒ˜.
  • แƒ“แƒ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒ แƒแƒ แƒ˜แƒก แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒแƒ–แƒ” แƒ“แƒแƒฎแƒแƒ แƒฏแƒฃแƒšแƒ˜ แƒ“แƒ แƒ. แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ. แƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ˜แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒ–แƒแƒ›แƒ˜. แƒแƒฅ แƒ“แƒแƒ˜แƒฌแƒงแƒ, แƒแƒฅ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒ›แƒแƒก. แƒแƒœ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒ“แƒแƒœ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒแƒœ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒ. แƒแƒ› แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ•แƒ” แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒก แƒแƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ”แƒœ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“:

  • แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ (แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒ˜) แƒแƒ แƒ˜แƒก แƒกแƒ”แƒ’แƒ›แƒ”แƒœแƒขแƒ˜ แƒ˜แƒฅ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ˜แƒก แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฎแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜, แƒแƒœ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒจแƒ˜.
  • แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒก แƒ›แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒ แƒช แƒ™แƒ˜ แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒก แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒ แƒแƒฆแƒแƒชแƒ”แƒ”แƒ‘แƒ˜แƒ. แƒ›แƒแƒ—แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, PostgreSQL แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก SQL แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒแƒ แƒฉแƒ˜แƒแƒ— แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ (แƒแƒœ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜).
  • แƒ—แƒฃแƒ›แƒชแƒ, แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก (VIEWs) แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒฌแƒ•แƒ“แƒ˜แƒแƒœ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ”, แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ›แƒแƒ•แƒšแƒ”แƒœแƒแƒ–แƒ”.
  • แƒ”แƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ”แƒ“แƒ”แƒ‘แƒ˜ (VIEWs) แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒแƒ“, แƒงแƒแƒ•แƒ”แƒšแƒ’แƒ•แƒแƒ แƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒฃแƒงแƒฃแƒ แƒแƒ—, แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ“แƒแƒœ. แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜. แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜แƒ. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— postgresql-contrib แƒžแƒแƒ™แƒ”แƒขแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, postgresql94-contrib), แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜, แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— PostgreSQL แƒ“แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ˜แƒ’แƒ˜. (แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒ™แƒแƒœแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ).
  • แƒ“แƒ แƒแƒ แƒ˜แƒก แƒแƒ แƒแƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜. แƒ›แƒแƒ— แƒแƒ  แƒ›แƒ˜แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒแƒ— แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ PostgreSQL แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒแƒœ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ. แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก, แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒแƒก แƒ›แƒแƒ˜แƒคแƒ˜แƒฅแƒ แƒ”แƒ‘แƒก แƒแƒ› แƒแƒ แƒแƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ”แƒก แƒกแƒšแƒแƒ˜แƒ“แƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ˜แƒ› แƒฎแƒ”แƒ“แƒก (VIEWs) แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ˜แƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ PostgreSQL 9.4-แƒจแƒ˜. แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒ. แƒ“แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒแƒ‘แƒ, แƒ—แƒฃ แƒแƒ›แƒแƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ’แƒแƒœแƒ˜แƒชแƒ“แƒ˜แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ—แƒฃแƒ›แƒชแƒ แƒฌแƒ˜แƒœแƒ แƒกแƒฃแƒ แƒแƒ—แƒก แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— ะšะฐะบ ั‚ั€ะฐั‚ะธั‚ัั ะฒั€ะตะผั ะฝะฐ PostgreSQL แƒ“แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒแƒ› แƒกแƒ˜แƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒ› แƒกแƒฃแƒ แƒแƒ—แƒก. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒฎแƒ”แƒ“แƒ˜ (VIEWs) แƒแƒœ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ›แƒ แƒ—แƒฃ แƒ˜แƒ› แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒ แƒแƒ› แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก PostgreSQL แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒแƒ แƒ˜แƒก pg_stat_database. แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ›แƒแƒ“แƒ’แƒ”แƒœแƒšแƒแƒ‘แƒ. แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฃแƒแƒ›แƒ แƒแƒ• แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ แƒแƒ•แƒแƒšแƒคแƒ”แƒ แƒแƒ•แƒแƒœแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ. แƒ“แƒ แƒ”แƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒชแƒแƒ“แƒœแƒแƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜.

แƒ แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ˜แƒฅแƒ˜แƒ“แƒแƒœ? แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒ˜แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

select
sum(blks_hit)*100/sum(blks_hit+blks_read) as hit_ratio
from pg_stat_database;

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒช แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒแƒ แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ แƒขแƒงแƒ›แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜. แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ แƒขแƒงแƒ›แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒ. แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜ แƒแƒ แƒ˜แƒก แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒ“แƒแƒœ.

แฒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ แƒแƒช แƒ›แƒ”แƒขแƒ˜ แƒฅแƒ”แƒจแƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก, แƒ›แƒ˜แƒ— แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒคแƒแƒกแƒ”แƒ‘แƒ— แƒแƒ› แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒฃแƒšแƒแƒ“. แƒ“แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฃ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒแƒ› แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ แƒขแƒงแƒ›แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜ 90%-แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒ™แƒแƒ แƒ’แƒ˜แƒ. แƒ—แƒฃ แƒ˜แƒก แƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ 90%-แƒ–แƒ” แƒ“แƒแƒ‘แƒšแƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒฎแƒ”แƒšแƒ˜ แƒ—แƒแƒ•แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒ“แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, PostgreSQL แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒ˜แƒ“แƒ”แƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒ”แƒก แƒฃแƒคแƒ แƒ แƒœแƒ”แƒšแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜. แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒคแƒ˜แƒฅแƒ แƒแƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒแƒ–แƒ”: แƒแƒœ แƒ’แƒแƒ–แƒแƒ แƒ“แƒ”แƒ— แƒกแƒแƒ”แƒ แƒ—แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒ˜, แƒแƒœ แƒ’แƒแƒ–แƒแƒ แƒ“แƒ”แƒ— แƒ แƒ™แƒ˜แƒœแƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ (RAM).

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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 แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ. แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒคแƒแƒ แƒ“แƒแƒ‘แƒแƒก. Commits แƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ. แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ, แƒแƒœแƒฃ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒ› แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ, แƒ“แƒแƒซแƒแƒ‘แƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ แƒ แƒแƒฆแƒแƒช แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒฎแƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒ˜ แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ”.แƒ˜. แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ›แƒ–แƒแƒ แƒ“แƒ˜ แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ แƒชแƒฃแƒ“แƒ˜แƒ. แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒแƒ— แƒ›แƒแƒ— แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ™แƒแƒ“แƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒก.

แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ. แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜แƒช แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒ–แƒ” แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒ”แƒก แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ. แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜. แƒ“แƒ แƒ›แƒแƒแƒ’แƒ•แƒแƒ แƒ”แƒ— แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ”แƒก.

แƒฉแƒ˜แƒฎแƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒชแƒฃแƒ“แƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ”แƒฏแƒ˜แƒ‘แƒ แƒ”แƒ‘แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก, แƒ”แƒ แƒ—แƒ›แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ› แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ”แƒ แƒ— แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ–แƒ” แƒ“แƒ แƒแƒ˜แƒฆแƒ แƒกแƒแƒ™แƒ”แƒขแƒ˜, แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ› แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ›แƒ”แƒแƒ แƒ” แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ–แƒ” แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ˜แƒฆแƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒแƒ แƒ˜แƒ•แƒ” แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ› แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก แƒ“แƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ แƒ›แƒ”แƒ–แƒแƒ‘แƒšแƒ˜แƒก แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒจแƒ˜. แƒ”แƒกแƒ”แƒช แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒ. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ แƒ“แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”. แƒ“แƒ แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒฉแƒ˜แƒฎแƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ, แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒแƒ— แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜, แƒ’แƒแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ.

แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ (temp_files) แƒแƒกแƒ”แƒ•แƒ” แƒชแƒฃแƒ“แƒ˜แƒ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜, แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒšแƒแƒ“, แƒ˜แƒก แƒฅแƒ›แƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒก แƒจแƒ”แƒ”แƒซแƒšแƒ แƒจแƒ”แƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒœแƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜, แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒฃแƒ™แƒ•แƒ” แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒœแƒ”แƒšแƒ˜แƒ. แƒ”แƒก แƒ–แƒ แƒ“แƒ˜แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ“แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ PostgreSQL-แƒ–แƒ”, แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒžแƒแƒกแƒฃแƒฎแƒก แƒชแƒแƒขแƒ แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒฃ แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜, Postgres แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒก แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

pg_stat_bgwriter - แƒ”แƒก แƒฎแƒ”แƒ“แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒแƒ แƒ˜ PostgreSQL แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก: checkpointer ะธ background writer.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ•แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ”.แƒฌ. 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.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ แƒ˜แƒก แƒคแƒแƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฌแƒ”แƒ แƒ˜ โˆ’ background writer. แฒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก? แƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ’แƒแƒฃแƒ—แƒแƒ•แƒ”แƒ‘แƒ”แƒš แƒ›แƒแƒ แƒงแƒฃแƒŸแƒจแƒ˜. แƒ˜แƒก แƒแƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒก แƒ‘แƒ˜แƒœแƒซแƒฃแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒฆแƒ›แƒแƒแƒฉแƒ”แƒœแƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒแƒ›แƒ’แƒ•แƒแƒ แƒแƒ“, แƒ˜แƒก แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒ’แƒฃแƒจแƒแƒ’แƒแƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒกแƒแƒ’แƒฃแƒจแƒแƒ’แƒแƒก แƒ“แƒ แƒแƒก.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ? แƒ˜แƒก แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒก แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒกแƒฃแƒคแƒ—แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒแƒก, แƒ—แƒฃ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒœ (แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒ“แƒ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ•) แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒšแƒแƒ“. แƒ“แƒแƒ•แƒฃแƒจแƒ•แƒแƒ—, แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒ แƒกแƒฃแƒคแƒ—แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒ˜แƒแƒœ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜. แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜ backend แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ“แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ แƒแƒ  แƒฃแƒฌแƒ”แƒ•แƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ‘แƒ”แƒฅแƒ”แƒœแƒ“แƒ˜ แƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒซแƒ”แƒ‘แƒœแƒแƒก, แƒ แƒแƒ—แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒก แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ แƒแƒช แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒแƒ“ แƒแƒ˜แƒกแƒแƒฎแƒ”แƒ‘แƒ แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ“แƒ แƒแƒ–แƒ”. แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ’แƒแƒฅแƒ•แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ maxwritten_clean แƒ“แƒ˜แƒ“แƒ˜, แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒคแƒแƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฌแƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒก แƒกแƒแƒฅแƒ›แƒ”แƒก แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ bgwriter_lru_maxpagesแƒ แƒแƒ—แƒ แƒ›แƒแƒœ แƒจแƒ”แƒซแƒšแƒแƒก แƒ›แƒ”แƒขแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ”แƒ แƒ— แƒชแƒ˜แƒ™แƒšแƒจแƒ˜, แƒ’แƒแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒแƒก แƒ›แƒ”แƒขแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜.

แƒ“แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ buffers_backend_fsync. Backends แƒแƒ  แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ fsync-แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒก แƒœแƒ”แƒšแƒ˜แƒ. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ“แƒ˜แƒแƒœ fsync up IO stack checkpointer. แƒ’แƒแƒ›แƒจแƒ•แƒ”แƒ‘ แƒžแƒฃแƒœแƒฅแƒขแƒก แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ แƒ˜แƒ’แƒ˜, แƒ˜แƒก แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒฃแƒšแƒแƒ“ แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก fsync-แƒก แƒ“แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ. แƒ—แƒฃ แƒ’แƒแƒ›แƒจแƒ•แƒ”แƒ‘แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ แƒ˜แƒ’แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒกแƒแƒ•แƒกแƒ”แƒ, แƒ›แƒแƒจแƒ˜แƒœ backend แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒ•แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก fsync แƒ“แƒ แƒ”แƒก แƒแƒœแƒ”แƒšแƒ”แƒ‘แƒก backend-แƒก, แƒแƒœแƒฃ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒžแƒแƒกแƒฃแƒฎแƒก แƒฃแƒคแƒ แƒ แƒ’แƒ•แƒ˜แƒแƒœ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒจแƒ”แƒ”แƒซแƒšแƒ. แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒœแƒฃแƒšแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ แƒ“แƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒแƒ— แƒคแƒแƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฌแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒฅแƒ•แƒ”แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ: _แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒฃแƒ  แƒจแƒ”แƒฎแƒ”แƒ“แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒก. แƒฎแƒ”แƒ“แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ’แƒแƒ“แƒแƒ”แƒ แƒฅแƒ•แƒ Postgres 10-แƒจแƒ˜. แƒ’แƒแƒ“แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ˜ แƒ˜แƒงแƒ แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ. xlog on wal ะธ location on lsn แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก/แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ.แƒจ. แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ pg_xlog_location_diff() แƒ”แƒฌแƒแƒ“แƒ pg_wal_lsn_diff()._

แƒแƒฅแƒแƒช แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ—แƒฃ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒ˜แƒ แƒ“แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒแƒ  แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒแƒกแƒขแƒ”แƒ แƒก.

แƒ”แƒก แƒ—แƒ”แƒฅแƒ•แƒกแƒ›แƒ”แƒขแƒแƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜. แƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ: แƒฉแƒแƒกแƒ›แƒ, แƒฌแƒแƒจแƒšแƒ แƒ“แƒ แƒ.แƒจ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

ัะบะพะปัŒะบะพ ะทะฐะฟะธัะฐะฝะพ 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 แƒฌแƒฃแƒ—แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒœแƒแƒก. แƒแƒ›แƒ˜แƒก แƒ“แƒแƒ›แƒแƒฎแƒกแƒแƒ•แƒ แƒ”แƒ‘แƒ แƒฆแƒ˜แƒ แƒก. แƒ“แƒ แƒแƒ›แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒกแƒ˜แƒกแƒฃแƒšแƒ”แƒšแƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒแƒ› แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒœแƒแƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

pg_stat_all_tables แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒฎแƒ”แƒ“แƒ˜แƒ. แƒ˜แƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ–แƒ”. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ›แƒแƒกแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ, แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒแƒ› แƒฎแƒ”แƒ“แƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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 แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ›แƒ แƒ”แƒ‘แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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-แƒจแƒ˜ แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒกแƒ แƒ“แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜.

แƒ—แƒฃแƒ›แƒชแƒ, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ›แƒ”แƒ‘แƒก, แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒœ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ–แƒ แƒ“แƒแƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ—, แƒแƒœแƒฃ แƒ แƒแƒ’แƒแƒ  แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ, แƒ แƒ แƒ˜แƒœแƒขแƒ”แƒœแƒกแƒ˜แƒ•แƒแƒ‘แƒ˜แƒ— แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ. แƒ แƒ แƒแƒ แƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜? แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒก UPDATE โ€“ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ. แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ (แƒแƒœ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ›แƒ”แƒขแƒ˜). แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ แƒ“แƒ แƒซแƒ•แƒ”แƒšแƒ˜ แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒจแƒ•แƒœแƒ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒแƒ“. แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ•แƒขแƒแƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜ แƒ›แƒแƒ•แƒ แƒ“แƒ แƒ’แƒแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒก แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒแƒ› แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒก, แƒ›แƒแƒœแƒ˜แƒจแƒœแƒ”แƒ— แƒ”แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒแƒกแƒ”แƒ•แƒ”, แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ. แƒ”แƒก แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒ. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒแƒก แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒจแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒก. แƒแƒ› แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ— แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒฌแƒ›แƒ˜แƒœแƒ“แƒแƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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 แƒ“แƒ˜แƒ“แƒ˜, แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒ แƒ’แƒ˜แƒ. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒญแƒแƒ แƒ‘แƒแƒ‘แƒก แƒ“แƒ แƒ”แƒก แƒฃแƒคแƒ แƒ แƒ˜แƒแƒคแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ— แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“แƒแƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

ALTER TABLE table_name SET (fillfactor = 70);

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒ–แƒแƒ แƒ“แƒแƒ— แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ hot updateov? แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— fillfactor. แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒ“แƒแƒฏแƒแƒ•แƒจแƒœแƒ˜แƒšแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ–แƒแƒ›แƒแƒก แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ˜แƒกแƒแƒก INSERT-แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒแƒœแƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ“แƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒ–แƒ”, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒ•แƒกแƒ”แƒ‘แƒ”แƒœ แƒ’แƒ•แƒ”แƒ แƒ“แƒก, แƒแƒ  แƒขแƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒชแƒแƒ แƒ˜แƒ”แƒš แƒแƒ“แƒ’แƒ˜แƒšแƒก. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ›แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜แƒ. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”แƒ• แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ. แƒ“แƒ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒฅแƒชแƒ”แƒ•แƒ, fillfactor = 100%.

แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒฅแƒขแƒแƒ แƒ˜ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— 70%-แƒ–แƒ”. แƒแƒœแƒฃ แƒฉแƒแƒœแƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ 70% แƒจแƒ”แƒ˜แƒ•แƒกแƒ. แƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒจแƒ˜ แƒ™แƒ˜ 30% แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ, แƒ”แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ— แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒ“แƒ แƒ แƒ˜แƒ’แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ›แƒแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ”. แƒ“แƒ hot_update แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ. แƒ”แƒก แƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ–แƒ” แƒฌแƒ”แƒ แƒแƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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"-แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ›แƒ™แƒ•แƒ“แƒแƒ แƒ˜ แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก, แƒชแƒฎแƒ แƒ˜แƒšแƒก แƒ•แƒ“แƒ”แƒ‘แƒ— แƒแƒ•แƒขแƒแƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ–แƒ”.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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-แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒšแƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ (แƒกแƒšแƒแƒ˜แƒ“แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜).

แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฌแƒ”แƒ แƒ“แƒœแƒ”แƒœ munin แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒก แƒแƒ› แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒก. แƒแƒ  แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ–แƒ” แƒแƒ แƒ˜แƒก แƒคแƒ”แƒฎแƒ˜แƒก แƒขแƒ˜แƒšแƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒกแƒฌแƒแƒ แƒแƒ“ แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒก แƒ“แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒจแƒ”แƒ•แƒแƒคแƒแƒกแƒแƒ— แƒกแƒแƒ“ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒกแƒแƒ“แƒแƒช แƒชแƒแƒขแƒแƒ.

แƒ แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ? แƒ—แƒฃ แƒ’แƒ แƒซแƒ”แƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒ แƒแƒ•แƒขแƒแƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜ แƒ•แƒ”แƒ  แƒฃแƒซแƒšแƒ”แƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒ–แƒแƒ แƒ“แƒแƒ— แƒ›แƒขแƒ•แƒ”แƒ แƒกแƒแƒกแƒ แƒฃแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒแƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜ แƒ’แƒแƒ•แƒฎแƒแƒ“แƒแƒ— แƒฃแƒคแƒ แƒ แƒแƒ’แƒ แƒ”แƒกแƒ˜แƒฃแƒšแƒ˜.แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒแƒ“แƒ แƒ” แƒแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ“แƒ”แƒก, แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒก แƒžแƒแƒขแƒแƒ แƒ แƒœแƒแƒญแƒ แƒ”แƒ‘แƒแƒ“. แƒ“แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. - แƒแƒฅ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ. แƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฃแƒคแƒแƒกแƒ, แƒ—แƒฃแƒ›แƒชแƒ SSD/NVMe แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ•แƒšแƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ•แƒ˜ แƒ’แƒแƒฎแƒ“แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

pg_stat_all_indexes แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ–แƒ”. แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก. แƒ“แƒ แƒ›แƒ˜แƒกแƒ’แƒแƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ“แƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ™แƒ•แƒ” แƒ•แƒ—แƒฅแƒ•แƒ˜, แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒช. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ—แƒฃ แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒ–แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒช แƒ“แƒ แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ“แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒแƒšแƒแƒกแƒขแƒ˜. แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ•แƒ”แƒšแƒ˜ idx_scan. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก. แƒ—แƒฃ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ (แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› 2-3 แƒ™แƒ•แƒ˜แƒ แƒ), แƒ›แƒแƒจแƒ˜แƒœ, แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ”แƒก แƒชแƒฃแƒ“แƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ•แƒ˜แƒจแƒแƒ แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ”แƒซแƒ”แƒ‘แƒ— แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒš แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒœแƒซแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ—แƒฃ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ–แƒ” (แƒ—แƒฃ แƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ).

แƒแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜:

https://github.com/dataegret/pg-utils/blob/master/sql/low_used_indexes.sql

http://www.databasesoup.com/2014/05/new-finding-unused-indexes-query.html

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜.

แƒ›แƒ”แƒแƒ แƒ” แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ. แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ แƒแƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒแƒ แƒ˜แƒฅ. แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒกแƒแƒฎแƒ˜แƒšแƒ•แƒ”แƒšแƒแƒ“.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒ—?

  • แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜ แƒชแƒฃแƒ“แƒ˜แƒ.

  • แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒก แƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒ”แƒœ.

  • แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒ”แƒšแƒ”แƒ‘แƒ.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ•แƒแƒ™แƒฃแƒฃแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ—แƒฃ แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒš แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒก แƒฌแƒแƒ•แƒจแƒšแƒ˜แƒ—, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒ’แƒแƒ•แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฎแƒ”แƒ“แƒ˜ แƒแƒ แƒ˜แƒก pg_stat_activity. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒแƒœแƒแƒšแƒแƒ’แƒ˜ psแƒ›แƒฎแƒแƒšแƒแƒ“ PostgreSQL-แƒจแƒ˜. แƒ—แƒฃ psแƒแƒฐ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ pg_stat_activity แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ— แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒแƒก PostgreSQL-แƒจแƒ˜.

แƒ แƒ˜แƒกแƒ˜ แƒแƒฆแƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ“แƒแƒœ?

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

select
count(*)*100/(select current_setting('max_connections')::int)
from pg_stat_activity;

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒกแƒแƒ”แƒ แƒ—แƒ แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ. แƒ˜แƒฅ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒคแƒ”แƒ—แƒฅแƒ“แƒ, แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ, แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

select
client_addr, usename, datname, count(*)
from pg_stat_activity group by 1,2,3 order by 4 desc;

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒ แƒ•แƒœแƒแƒฎแƒแƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒšแƒ˜แƒ›แƒ˜แƒขแƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ•แƒ˜แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜. แƒ“แƒ แƒแƒ› แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ˜แƒ› แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก cron_role แƒ’แƒแƒฎแƒกแƒœแƒ 508 แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜. แƒ“แƒ แƒ แƒแƒฆแƒแƒช แƒ“แƒแƒ”แƒ›แƒแƒ แƒ—แƒ แƒ›แƒแƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒ— แƒ›แƒแƒก แƒ“แƒ แƒœแƒแƒฎแƒแƒ—. แƒ“แƒ แƒกแƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒแƒœแƒแƒ›แƒแƒšแƒ˜แƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก OLTP แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒกแƒฌแƒ แƒแƒคแƒ˜, แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ“แƒ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒ แƒซแƒ”แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฃ แƒ’แƒ แƒซแƒ”แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒแƒ™แƒšแƒ”แƒ•แƒแƒ“แƒ˜แƒแƒœ แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒ•แƒแƒจแƒ˜ แƒกแƒแƒœแƒ”แƒ แƒ•แƒ˜แƒฃแƒšแƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒ แƒซแƒ”แƒšแƒ•แƒแƒ“แƒ˜แƒแƒœ แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒ•แƒแƒจแƒ˜, แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ–แƒ˜แƒแƒœแƒก แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ–แƒ แƒ“แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก bloat แƒ”แƒคแƒ”แƒฅแƒขแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฎแƒ“แƒ”แƒ‘แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒแƒ แƒ˜แƒ•แƒ” bloat แƒ“แƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒแƒ“แƒ’แƒฃแƒ แƒ“แƒ”แƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

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, แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ” แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒก แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ’แƒ แƒซแƒ”แƒš แƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';

แƒชแƒฃแƒ“แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก (แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ˜) แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜.

แฒ แƒแƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก? แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ. แƒ“แƒ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒแƒ› แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก แƒ›แƒ˜แƒ˜แƒฆแƒแƒก. แƒแƒ แƒ˜แƒก แƒ•แƒ”แƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก state แƒแƒ› แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—. แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';

แƒ“แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ•แƒ—แƒฅแƒ•แƒ˜, แƒ”แƒก แƒแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒจแƒ˜ (แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ˜) แƒชแƒฃแƒ“แƒ˜แƒ. แƒ แƒ แƒแƒ แƒ˜แƒก แƒ”แƒก? แƒแƒ› แƒ“แƒ แƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ› แƒ’แƒแƒฎแƒกแƒœแƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ, แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒกแƒแƒฅแƒ›แƒ”. แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ แƒฆแƒ˜แƒ แƒ แƒฉแƒ”แƒ‘แƒ. แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ˜แƒ, แƒ›แƒแƒกแƒจแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ˜แƒก แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก, แƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒš แƒ แƒ˜แƒ’แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒ–แƒ แƒ“แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒŸแƒ˜แƒแƒขแƒแƒŸแƒกแƒแƒช แƒ™แƒ˜, Postrges-แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒซแƒ แƒแƒ•แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ“แƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ“แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒกแƒแƒ–แƒ˜แƒแƒœแƒแƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— 5-10-20-แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒœแƒ”แƒ แƒ•แƒ˜แƒฃแƒšแƒแƒ— แƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ แƒแƒ˜แƒ›แƒ”แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ.

แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ’แƒแƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก clock_timestamp(). แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ•แƒ—แƒฅแƒ•แƒ˜, แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒ”แƒœแƒชแƒ˜แƒแƒก แƒฃแƒฌแƒ”แƒ•แƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ•แƒ”แƒšแƒ˜ waiting แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ— true แƒแƒœ false.

แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜แƒ - แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒฆแƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ. แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜ แƒ–แƒ˜แƒก แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ.

แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ: _แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ Postgres 9.6-แƒ“แƒแƒœ, แƒ•แƒ”แƒšแƒ˜ waiting แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ แƒ˜ โ€‹โ€‹แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ˜แƒ— wait_event_type ะธ wait_event._

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ—? แƒ—แƒฃ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒกแƒ˜แƒ›แƒแƒ แƒ—แƒšแƒ”แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒกแƒ”แƒ— แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ แƒแƒ—แƒ แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ แƒ‘แƒแƒšแƒ. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒฃแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒก.

แƒ“แƒ แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒแƒ แƒ แƒคแƒแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒ แƒฉแƒ˜แƒฎแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ. แƒแƒ แƒ›แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒ› แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ แƒแƒ แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒแƒœ, แƒฃแƒ™แƒ•แƒ” แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ–แƒ”. PostgreSQL แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ“แƒ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก, แƒ แƒแƒ—แƒ แƒ›แƒ”แƒแƒ แƒ”แƒ› แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฉแƒ˜แƒฎแƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒ“แƒ แƒ›แƒแƒก แƒแƒ  แƒ”แƒกแƒ›แƒ˜แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜. แƒแƒ›แƒ˜แƒขแƒแƒ›, PostgreSQL แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒ˜ แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/c4_06_show_locked_queries.sql

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/show_locked_queries_95.sql

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/show_locked_queries_96.sql

http://big-elephants.com/2013-09/exploring-query-locks-in-postgres/

แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒฎแƒ”แƒ“แƒก pg_locks, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ— แƒ›แƒซแƒ˜แƒ›แƒ” แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก.

แƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ—แƒแƒ•แƒแƒ“ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜. แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒ แƒซแƒ”แƒšแƒ˜แƒ.

แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ” แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ, แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ.

แƒ›แƒแƒจ แƒ แƒแƒก แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—? แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒแƒ  แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก. แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ ALTER TABLE แƒแƒ แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ. แƒ“แƒแƒ˜แƒฌแƒงแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ แƒ“แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ”แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒแƒฅแƒ•แƒ”แƒงแƒœแƒ, แƒกแƒแƒ“แƒฆแƒแƒช แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ”แƒ”แƒ‘แƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก. แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ. แƒ˜แƒก แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒกแƒแƒœแƒแƒ› แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒแƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก.

แƒแƒกแƒ” แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒแƒ— แƒ•แƒ˜แƒœ แƒ•แƒ˜แƒก แƒฉแƒแƒ™แƒ”แƒขแƒ, แƒ•แƒ˜แƒœ แƒ•แƒ˜แƒก แƒฃแƒญแƒ˜แƒ แƒแƒ•แƒก แƒ“แƒ แƒแƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ’แƒแƒ•แƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก pg_stat_statements. แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒ—แƒฅแƒ•แƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜. แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜, แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— PostgreSQL, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ›แƒแƒ“แƒฃแƒšแƒ˜ (แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—) แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒฎแƒ”แƒ“แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ 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 แƒœแƒ”แƒšแƒ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒชแƒ•แƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜. แƒœแƒแƒฎแƒ”แƒ—, แƒ•แƒ˜แƒœ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ‘แƒก แƒแƒœ แƒฌแƒแƒจแƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ˜แƒฅ.

แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒแƒ› แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

https://github.com/dataegret/pg-utils/blob/master/sql/global_reports/query_stat_total.sql

แƒฉแƒ•แƒ”แƒœ pg_stat_statements แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ•แƒแƒ“แƒ’แƒ”แƒœแƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒ“แƒฆแƒ”แƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš. แƒ“แƒแƒ•แƒแƒ’แƒ แƒแƒ•แƒแƒ— แƒ˜แƒ’แƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฏแƒ”แƒ แƒ–แƒ” แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒ›แƒ“แƒ”, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒก. แƒแƒฅ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ˜. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒงแƒฃแƒ แƒแƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แฒ แƒแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—? แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ— แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ—แƒ•แƒšแƒ˜แƒ— แƒ›แƒ˜แƒก แƒ˜แƒœแƒ“แƒ˜แƒ•แƒ˜แƒ“แƒฃแƒแƒšแƒฃแƒ  แƒฌแƒ•แƒšแƒ˜แƒšแƒก แƒแƒ› แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜.

แƒ“แƒ แƒ แƒ แƒ•แƒœแƒแƒฎแƒแƒ—? แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒ“แƒ แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒคแƒแƒœแƒ–แƒ”. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— CPU แƒ“แƒ I/O แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒฃแƒ แƒแƒ—แƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜. แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒแƒ› แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒแƒ› แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒก แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒกแƒแƒคแƒ˜แƒฅแƒ แƒแƒšแƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒแƒ—.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒ แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ™แƒฃแƒšแƒ˜แƒกแƒ”แƒ‘แƒจแƒ˜? แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ“แƒ แƒ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜แƒ.

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก pgstattuple แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒ“แƒแƒœ. แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— bloat แƒ›แƒแƒ’แƒ˜แƒ“แƒ”แƒ‘แƒ˜, แƒ”.แƒฌ. แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ“แƒ แƒ—แƒฃ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ“แƒ˜แƒ“แƒ˜แƒ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒแƒ›แƒแƒ˜แƒฆแƒแƒ— แƒ˜แƒ’แƒ˜, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜. แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ pgstattuple แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒ“แƒ แƒ แƒแƒช แƒ›แƒ”แƒขแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜, แƒ›แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒฎแƒแƒœแƒก แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก pg_buffercache. แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒ˜: แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ˜แƒœแƒขแƒ”แƒœแƒกแƒ˜แƒฃแƒ แƒแƒ“ แƒ“แƒ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜. แƒ“แƒ แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒแƒ— แƒกแƒแƒ”แƒ แƒ—แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒก แƒ“แƒ แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ˜แƒฅ.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก pgfincore. แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ–แƒแƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— mincore(), แƒแƒœแƒฃ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜, แƒแƒœ แƒ’แƒแƒ“แƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ˜แƒ’แƒ˜. แƒ“แƒ แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก, แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜, แƒแƒœแƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒก แƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒฅแƒ”แƒจแƒจแƒ˜, แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒคแƒแƒกแƒแƒ— แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒแƒ–แƒ”.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก pg_stat_kcache. แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ  แƒ–แƒแƒ แƒก getrusage(). แƒ“แƒ แƒ˜แƒก แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ›แƒแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ“แƒ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ’แƒแƒ›แƒแƒ•แƒ—แƒ•แƒแƒšแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ“แƒแƒฎแƒแƒ แƒฏแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” I/O, แƒแƒœแƒฃ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒ˜แƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒ แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒแƒ (แƒฎแƒ”-แƒฎแƒ”) แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ PostgreSQL 9.4 แƒ“แƒ pg_stat_statements, แƒ แƒแƒช แƒแƒ“แƒ แƒ” แƒ•แƒแƒฎแƒกแƒ”แƒœแƒ”.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

  • แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ—, แƒœแƒแƒฎแƒแƒ—, แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒ›แƒ”, แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ—.

  • แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ SQL. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒแƒ’แƒ แƒแƒ•แƒ”แƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒจแƒ”แƒแƒ“แƒ’แƒ˜แƒœแƒ”แƒ—, แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ—, แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ—.

  • แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ’แƒแƒชแƒ”แƒ›แƒแƒก. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜, แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ— แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒก - แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ—, แƒ’แƒแƒ›แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜, แƒ’แƒแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ— แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜.

  • แƒ“แƒ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜. แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ˜แƒ’แƒ˜.

แƒฆแƒ แƒ›แƒแƒ“ แƒฉแƒแƒ”แƒคแƒšแƒ PostgreSQL แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒแƒจแƒ˜. แƒแƒšแƒ”แƒฅแƒกแƒ”แƒ˜ แƒšแƒ”แƒกแƒแƒ•แƒกแƒ™แƒ˜

แƒšแƒ˜แƒขแƒ”แƒ แƒแƒขแƒฃแƒ แƒ

แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒœแƒแƒžแƒแƒ•แƒœแƒ˜ แƒ˜แƒฅแƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”แƒช แƒ˜แƒงแƒ แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒจแƒ˜.

แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ” แƒ›แƒ”แƒขแƒ˜
https://dataegret.com/news-blog (แƒ˜แƒœแƒ’แƒš)

แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜
https://www.postgresql.org/docs/current/monitoring-stats.html

แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜
https://www.postgresql.org/docs/current/functions-admin.html

แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜
https://www.postgresql.org/docs/current/pgstatstatements.html
https://www.postgresql.org/docs/current/pgstattuple.html
https://www.postgresql.org/docs/current/pgbuffercache.html
https://github.com/klando/pgfincore
https://github.com/dalibo/pg_stat_kcache

SQL แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ sql แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜
https://github.com/dataegret/pg-utils

แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ