PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€ เจฆเฉเจ†เจฐเจพ 2015 เจฆเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจฆเจพ เจŸเฉเจฐเจพเจ‚เจธเจ•เฉเจฐเจฟเจชเจธเจผเจจ "เจชเฉ‹เจธเจŸเจ—เจฐเฉ‡เจเจธเจ•เจฏเฉ‚เจเจฒ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจกเฉเจฌเจ•เฉ€"

เจฐเจฟเจชเฉ‹เจฐเจŸ เจฆเฉ‡ เจฒเฉ‡เจ–เจ• เจคเฉ‹เจ‚ เจฌเฉ‡เจฆเจพเจ…เจตเจพ: เจฎเฉˆเจ‚ เจจเฉ‹เจŸ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจฐเจฟเจชเฉ‹เจฐเจŸ เจจเจตเฉฐเจฌเจฐ 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 เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจฅเฉเจฐเฉˆเจธเจผเจนเฉ‹เจฒเจก เจฎเฉเฉฑเจฒ เจนเจจเฅค เจ…เจธเฉ€เจ‚ เจ•เจฎเจฟเจŸ เจ…เจคเฉ‡ เจฐเฉ‹เจฒเจฌเฉˆเจ• เจฆเฉ‡ เจ…เจจเฉเจชเจพเจค เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เจฎเจฟเจŸเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจธเจซเจฒ เจชเฉเจธเจผเจŸเฉ€ เจนเฉˆเฅค เจฐเฉ‹เจฒเจฌเฉˆเจ•เจธ เจ‡เฉฑเจ• เจฐเฉ‹เจฒเจฌเฉˆเจ• เจนเฉˆ, เจ…เจฐเจฅเจพเจค เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‡ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ, เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจคเจฃเจพเจ… เจ•เฉ€เจคเจพ, เจ•เฉเจ เจธเจฎเจเจฟเจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจ†เจˆ, เจ…เจคเฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจเฅค i.e. เจฒเจ—เจพเจคเจพเจฐ เจตเจง เจฐเจนเฉ€ เจฐเฉ‹เจฒเจฌเฉˆเจ• เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฎเจพเฉœเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ…เจœเจฟเจนเจพ เจจเจพ เจนเฉ‹เจตเฉ‡.

เจŸเจ•เจฐเจพเจ… เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจจเฅค เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉ€ เจฌเจšเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เฉเจ เจธเจตเจพเจฒ เจนเจจ เจœเฉ‹ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจตเจฟเจตเจพเจฆ เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจนเจจเจพเจ‚ เจตเจฟเจตเจพเจฆเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจตเฉ‡เจฐเจตเฉ‡ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจฒเฉฑเจญเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ…เจคเฉ‡ เจตเจฟเจตเจพเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเฉ‹ เจคเจพเจ‚ เจœเฉ‹ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเฉฑเจŸเฉ€ เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เฅค

เจกเฉˆเฉฑเจกเจฒเจพเจ• เจฆเจพ เจตเฉ€ เจฌเฉเจฐเจพ เจนเจพเจฒ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจธเจฐเฉ‹เจคเจพเจ‚ เจฒเจˆ เจฎเฉเจ•เจพเจฌเจฒเจพ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‡ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจฒเจพเจ• เจฒเฉˆ เจฒเจฟเจ†, เจฆเฉ‚เจœเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‡ เจฆเฉ‚เจœเฉ‡ เจธเจฐเฉ‹เจค เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจฒเจพเจ• เจตเฉ€ เจฒเฉˆ เจฒเจฟเจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจฆเฉ‹เจตเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‡ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจฆเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจ—เฉเจ†เจ‚เจขเฉ€ เจฆเฉเจ†เจฐเจพ เจฒเฉŒเจ• เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจตเจฟเฉฑเจš เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเจพเฅค เจ‡เจน เจตเฉ€ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ€ เจธเจฅเจฟเจคเฉ€ เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจฒเจฟเจ–เจฃ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจฒเฉœเฉ€เจฌเฉฑเจง เจ•เจฐเจจ เจฆเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจธเฉฐเจฌเฉ‹เจงเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆเฅค เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจกเฉˆเฉฑเจกเจฒเจพเจ• เจฒเจ—เจพเจคเจพเจฐ เจตเจง เจฐเจนเฉ‡ เจนเจจ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเฉˆเจฆเจพ เจนเฉ‹เจˆเจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจ•เฉ€ เจนเฉˆเฅค

เจ…เจธเจฅเจพเจˆ เจซเจพเจˆเจฒเจพเจ‚ (temp_files) เจตเฉ€ เจ–เจฐเจพเจฌ เจนเจจเฅค เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ, เจ…เจธเจฅเจพเจˆ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจกเจฟเจธเจ• เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‰เจน เจธเจพเจฐเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจœเฉ‹ เจ‰เจน เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจฌเจซเจฐ เจตเจฟเฉฑเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจกเจฟเจธเจ• เจคเฉ‡ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ. เจ‡เจน เจนเฉŒเจฒเฉ€ เจนเฉˆเฅค เจ‡เจน เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจธเจฎเจพเจ‚ เจตเจงเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ—เจพเจนเจ• เจœเจฟเจธเจจเฉ‡ PostgreSQL เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเฉ€ เจนเฉˆ เจ‰เจธเจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจœเจตเจพเจฌ เจฎเจฟเจฒเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจฌเจนเฉเจค เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ˜เฉฑเจŸ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‡เจ—เจพเฅค

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

pg_stat_bgwriter - เจ‡เจน เจฆเฉเจฐเจฟเจธเจผ เจฆเฉ‹ PostgreSQL เจชเจฟเจ›เฉ‹เจ•เฉœ เจ‰เจช-เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆ: checkpointer ะธ background writer.

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจ†เจ“ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจชเฉเจ†เจ‡เฉฐเจŸเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ€เจ, เจ…เจ–เฉŒเจคเฉ€. checkpoints. เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เฉ€ เจนเจจ? เจ‡เฉฑเจ• เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฅเจฟเจคเฉ€ เจนเฉˆ เจœเฉ‹ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจกเจฟเจธเจ• เจฆเฉ‡ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจธเจฎเจ•เจพเจฒเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†, เจตเจฐเจ•เจฒเฉ‹เจก เจ…เจคเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจฒเฉฐเจฎเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจกเจฟเจธเจ• 'เจคเฉ‡ เจกเจพเจŸเจพ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจพเจ‚เจเฉ‡ เจฌเจซเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ—เฉฐเจฆเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจ•เจฟเจธ เจฒเจˆ เจนเฉˆ? เจœเฉ‡เจ•เจฐ PostgreSQL เจนเจฐ เจธเจฎเฉ‡เจ‚ เจกเจฟเจธเจ• เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐ เจฐเจฟเจนเจพ เจธเฉ€ เจ…เจคเฉ‡ เจ‰เฉฑเจฅเฉ‹เจ‚ เจกเจพเจŸเจพ เจฒเฉˆ เจฐเจฟเจนเจพ เจธเฉ€, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจเจ•เจธเฉˆเจธ 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฒเจฟเจ– เจฐเจฟเจนเจพ เจธเฉ€, เจ‡เจน เจนเฉŒเจฒเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจฒเจˆ, PostgreSQL เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เฉฐเจก เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจ†เจ•เจพเจฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจ‡เจธ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจœเจพเจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฒเจˆ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจกเฉ‡เจŸเจพ เจฌเจฆเจฒเจฃ เจฆเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจฆเฉ‹ เจธเฉฐเจธเจ•เจฐเจฃ เจฎเจฟเจฒเจฆเฉ‡ เจนเจจเฅค เจ‡เฉฑเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจนเฉˆ, เจฆเฉ‚เจœเจพ เจกเจฟเจธเจ• เจ‰เฉฑเจคเฉ‡ เจนเฉˆเฅค เจ…เจคเฉ‡ เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจธเจพเจจเฉ‚เฉฐ เจกเจฟเจธเจ• เจจเจพเจฒ เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผ เจ•เจฐเจจ เจฒเจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจ•เฉ€ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ. เจ‡เจธ เจฒเจˆ เจ‡เฉฑเจ• เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจธเจพเจ‚เจเฉ‡ เจฌเจซเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฆเจพ เจนเฉˆ, เจ—เฉฐเจฆเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจนเจจ. เจซเจฟเจฐ เจ‡เจน เจธเจพเจ‚เจเฉ‡ เจฌเจซเจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจฆเฉ‚เจœเจพ เจชเจพเจธ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจœเจฟเจนเฉœเฉ‡ เจชเฉฐเจจเฉ‡ เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจฒเจˆ เจฎเจพเจฐเจ• เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจ‰เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจกเจพเจŸเจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจกเจฟเจธเจ• เจจเจพเจฒ เจธเจฎเจ•เจพเจฒเฉ€ เจนเฉˆ.

เจ‡เฉฑเจฅเฉ‡ เจฆเฉ‹ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจชเฉเจ†เจ‡เฉฐเจŸ เจนเจจ. เจ‡เฉฑเจ• เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ 'เจคเฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจฒเจพเจญเจฆเจพเจ‡เจ• เจ…เจคเฉ‡ เจตเจงเฉ€เจ† เจนเฉˆ - 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. เจฌเฉˆเจ•เจเจ‚เจก fsync เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจนเฉŒเจฒเฉ€ เจนเฉˆเฅค เจ‰เจน IO เจธเจŸเฉˆเจ• เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจจเฉ‚เฉฐ fsync เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจฆเฉ€ เจ†เจชเจฃเฉ€ เจ•เจคเจพเจฐ เจนเฉˆ, เจ‡เจน เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ fsync เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจกเจฟเจธเจ• 'เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚ เจจเจพเจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจšเฉˆเจ•เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจ•เจคเจพเจฐ เจตเฉฑเจกเฉ€ เจ…เจคเฉ‡ เจญเจฐเฉ€ เจนเฉ‹เจˆ เจนเฉˆ, เจคเจพเจ‚ เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช fsync เจ•เจฐเจจ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจฐเจฅเจพเจค เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจœเจตเจพเจฌ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เจน เจฎเฉเฉฑเจฒ เจœเจผเฉ€เจฐเฉ‹ เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฟเจ›เฉ‹เจ•เฉœ เจฒเฉ‡เจ–เจ• เจฆเฉ€เจ†เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เจคเฉ‡ เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจตเฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

เจšเฉ‡เจคเจพเจตเจจเฉ€: _ เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจŸเฉˆเจ•เจธเจŸ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ‡ เจตเจฟเจšเจพเจฐเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ 10 เจตเจฟเฉฑเจš เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฆเฉเจฐเจฟเจธเจผ เจ…เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฎ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจนเจจเฅค เจจเจพเจฎ เจฌเจฆเจฒเจฃ เจฆเจพ เจธเจพเจฐ เจฌเจฆเจฒเจฃเจพ เจธเฉ€เฅค xlog 'เจคเฉ‡ wal ะธ location 'เจคเฉ‡ 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());

เจœเฉ‡ เจ‡เจน เจšเฉ€เจœเจผเจพเจ‚ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ€ เจชเจ›เฉœเจพเจˆ เจนเฉˆ. เจฒเฉˆเจ— เจฎเจพเจธเจŸเจฐ เจคเฉ‹เจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเจพ เจชเจ›เฉœ เจนเฉˆ, เจ…เจฐเจฅเจพเจค เจกเฉ‡เจŸเจพ เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจตเฉฑเจ–เจฐเจพ เจนเฉˆเฅค

เจฆเฉ‡เจฐเฉ€ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจ•เจพเจฐเจจ เจนเจจ:

  • เจ‡เจน เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจนเฉˆ เจœเฉ‹ เจซเจพเจˆเจฒ เจธเจฟเฉฐเจ• เจฐเจพเจˆเจŸเจธ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจธเฉฐเจญเจพเจฒ เจธเจ•เจฆเจพเฅค
  • เจ‡เจน เจธเฉฐเจญเจพเจตเจฟเจค เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจคเจฐเฉเจŸเฉ€เจ†เจ‚, เจœเจพเจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ“เจตเจฐเจฒเฉ‹เจก เจนเจจ, เจœเจฆเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจ•เฉ‹เจฒ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจคเฉฑเจ• เจชเจนเฉเฉฐเจšเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ. เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฆเฉเจฐเจฒเฉฑเจญ เจ•เฉ‡เจธ เจนเฉˆ. เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจ‡เจน เจฆเฉ‹ เจœเจพเจ‚ เจคเจฟเฉฐเจจ เจตเจพเจฐ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจตเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ.

เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจคเจฟเฉฐเจจ เจธเจตเจพเจฒ เจนเจจ เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจ…เจธเฉ€เจ‚ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจพเจกเฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเจพ เจฐเจฟเจ•เจพเจฐเจก เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจซเฉฐเจ•เจธเจผเจจ เจนเฉˆ 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;

เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เฉฑเจ• เจนเฉˆเจตเฉ€เจตเฉ‡เจŸ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจนเฉˆเฅค เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ–เจพเจ“ hot updates. เจ‰เจน PostgreSQL เจธเฉฐเจธเจ•เจฐเจฃ 8.3 เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจเฅค เจ…เจคเฉ‡ เจ‡เจน เจ•เฉ€ เจนเฉˆ? เจ‡เจน เจ‡เฉฑเจ• เจนเจฒเจ•เจพ เจ…เฉฑเจชเจกเฉ‡เจŸ เจนเฉˆ เจœเฉ‹ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจ•เจพเจฐเจจ เจจเจนเฉ€เจ‚ เจฌเจฃเจฆเจพ เจนเฉˆเฅค เจญเจพเจต, เจ…เจธเฉ€เจ‚ เจฐเจฟเจ•เจพเจฐเจก เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจนเฉˆ, เจชเจฐ เจชเฉฐเจจเฉ‡ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจฐเจฟเจ•เจพเจฐเจก (เจœเฉ‹ เจธเจพเจฐเจฃเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ) เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ…เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ…เจœเฉ‡ เจตเฉ€ เจชเฉฐเจจเฉ‡ เจตเจฟเฉฑเจš เจ‰เจธเฉ‡ เจฐเจฟเจ•เจพเจฐเจก เจตเฉฑเจฒ เจ‡เจธเจผเจพเจฐเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ•เฉฐเจฎ เจฆเจพ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเจพ เจฆเจฟเจฒเจšเจธเจช เจคเจฐเจ• เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ–เจฒเจพเจ… เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจœเฉฐเจœเฉ€เจฐเจพเจ‚ hot เจฎเฉเฉœ-เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจ‡เฉฐเจกเฉˆเจ•เจธ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ˜เฉฑเจŸ เจฌเจฐเจฌเจพเจฆเฉ€ เจจเจพเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉˆ n_tup_hot_upd เจตเฉฑเจกเจพ, เจ‡เจน เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจนเจฒเจ•เฉ‡ เจ…เจชเจกเฉ‡เจŸเจธ เจชเฉเจฐเจšเจฒเจฟเจค เจนเจจ เจ…เจคเฉ‡ เจ‡เจน เจธเจพเจกเฉ‡ เจฒเจˆ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจธเจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉˆเฅค

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

ALTER TABLE table_name SET (fillfactor = 70);

เจตเจพเจฒเฉ€เจ…เจฎ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจตเจงเจพเจ‰เจฃเจพ เจนเฉˆ hot updateov? เจ…เจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ fillfactor. เจ‡เจน INSERTs เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉฐเจจเจพ เจญเจฐเจจ เจตเฉ‡เจฒเฉ‡ เจฐเจพเจ–เจตเฉ€เจ‚ เจ–เจพเจฒเฉ€ เจฅเจพเจ‚ เจฆเจพ เจ†เจ•เจพเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจธเฉฐเจฎเจฟเจฒเจจ เจŸเฉ‡เจฌเจฒ เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจ‰เจน เจชเฉฐเจจเฉ‡ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจญเจฐ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจ‡เจธ เจตเจฟเฉฑเจš เจ–เจพเจฒเฉ€ เจฅเจพเจ‚ เจจเจพ เจ›เฉฑเจกเฉ‹เฅค เจซเจฟเจฐ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉฐเจจเจพ เจ‰เจœเจพเจ—เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจกเจพเจŸเจพ เจฆเฉเจฌเจพเจฐเจพ เจญเจฐเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจ‡เจน เจกเจฟเจซเฉŒเจฒเจŸ เจตเจฟเจตเจนเจพเจฐ เจนเฉˆ, เจซเจฟเจฒเจซเฉˆเจ•เจŸเจฐ = 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));

เจ†เจŸเฉ‹เจตเฉˆเจ•เจฟเจŠเจฎ เจ•เจคเจพเจฐเฅค เจ†เจŸเฉ‹เจตเฉˆเจ•เจฟเจŠเจฎ เจ…เจœเจฟเจนเจพ เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจนเฉˆ เจœเจฟเจธ เจฒเจˆ 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 เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจฏเฉเจ•เจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจฅเฉเจฐเฉˆเจธเจผเจนเฉ‹เจฒเจก เจ—เจฒเฉ‹เจฌเจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจชเจฐ เจธเจพเจฐเจฃเฉ€ เจฒเจˆ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจนเฉ‹เจตเฉ‡เจ—เจพ. เจ‡เจธ เจฒเจˆ, เจ—เจฃเจจเจพ เจ•เจฐเจจ เจฒเจˆ, เจ‰เฉฑเจฅเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ—เฉเจฐเฉเจฐ เจ…เจคเฉ‡ เจ—เฉเจฐเฉเจฐ เจตเจฐเจคเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจ…เจคเฉ‡ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ…เจตเฉ€เจŸเฉ‹ เจคเฉ‹เจ‚ เจธเจพเจกเฉ‡ เจธเจนเจฟเจ•เจฐเจฎเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจจเฉเจญเจต เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจธเจฒเจพเจˆเจก 'เจคเฉ‡ เจฒเจฟเฉฐเจ• เจ…เจตเฉˆเจง เจนเฉˆ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)เฅค

เจฒเจˆ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจฒเจฟเจ–เจฟเจ† 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 เจฒเฉ‹เจก เจนเฉˆ, เจคเจพเจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจคเฉ‡เจœเจผ, เจฌเจนเฉเจค เจคเฉ‡เจœเจผ เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจฒเฉฐเจฌเฉ€เจ†เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเฉ‡ เจฒเฉฐเจฎเฉ€ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจšเจฟเฉฐเจคเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจ—เฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš, เจฒเฉฐเจฌเฉ€เจ†เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจจเฉเจ•เจธเจพเจจ เจชเจนเฉเฉฐเจšเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจŸเฉ‡เจฌเจฒ เจซเฉเจฐเฉˆเจ—เจฎเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจคเจพเจ‚ เจ‰เจน เจŸเฉ‡เจฌเจฒ เจฆเฉ‡ เจฌเจฒเฉ‹เจŸ เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจฌเจฒเฉ‹เจŸ เจ…เจคเฉ‡ เจฒเฉฐเจฌเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจฆเจพ เจจเจฟเจชเจŸเจพเจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

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)';

เจ…เจคเฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจ‰เฉฑเจชเจฐ เจ•เจฟเจนเจพ เจนเฉˆ, เจ‡เจน เจฆเฉ‹ เจฐเจพเจœ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจตเจฟเจนเจฒเจพ เจ…เจคเฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจตเจฟเจนเจฒเจพ (เจ…เจงเฉ‚เจฐเจพ เจ›เฉฑเจกเจฟเจ†) เจฌเฉเจฐเจพ เจนเฉˆเฅค เจ‡เจน เจ•เฉ€ เจนเฉˆ? เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‡ เจ•เฉ‹เจˆ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจ–เฉ‹เจฒเฉเจนเจฟเจ†, เจ•เฉเจ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ•เจพเจฐเฉ‹เจฌเจพเจฐ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจฟเจ†เฅค เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจ–เฉเฉฑเจฒเฉเจนเจพ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฒเจŸเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ, เจ‡เจน เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ, เจฌเจฆเจฒเฉ€เจ†เจ‚ เจนเฉ‹เจˆเจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚ 'เจคเฉ‡ เจฒเจพเจ• เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจœเฉ‡ เจตเฉ€ เจนเฉ‹เจฐ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจฆเฉ‡ เจฌเจฒเฉ‹เจŸ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจชเฉ‹เจธเจŸเจฐเจ—เฉ‡เจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจฒ เจ‡เฉฐเจœเจฃ เจฆเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจ•เจพเจฐเจจ. เจ…เจคเฉ‡ เจ…เจœเจฟเจนเฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ€ เจ—เฉ‹เจฒเฉ€ เจฎเจพเจฐ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเฉเจ•เจธเจพเจจเจฆเฉ‡เจน เจนเจจ.

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ 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 'เจคเฉ‡ เจ•เจฟเฉฐเจจเจพ เจ–เจฐเจš เจ•เฉ€เจคเจพ, เจ…เจฐเจฅเจพเจค, เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฆเจพ เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฎเฉ‹เจกเฉ€เจŠเจฒ เจœเจตเจพเจจ เจนเฉˆ (khe-khe) เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ•เฉฐเจฎ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ PostgreSQL 9.4 เจ…เจคเฉ‡ pg_stat_statements เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

  • เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉˆ. เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ•เฉเจ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

  • เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉˆ, เจ‡เจน เจธเจงเจพเจฐเจจ SQL เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจ‡เจ•เฉฑเจ เฉ€ เจ•เฉ€เจคเฉ€, เจ‡เจธเจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจญเฉ‡เจœเจฟเจ†, เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฟเจ†.

  • เจ…เฉฐเจ•เฉœเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจˆ เจธเจตเจพเจฒ เจนเจจ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเฉฑเจฒ เจฎเฉเฉœเจฆเฉ‡ เจนเฉ‹ - เจฆเฉ‡เจ–เฉ‹, เจธเจฟเฉฑเจŸเฉ‡ เจ•เฉฑเจขเฉ‹, เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹เฅค

  • เจ…เจคเฉ‡ เจชเฉเจฐเจฏเฉ‹เจ—. เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚, เจฌเจนเฉเจค เจธเจพเจฐเจพ เจกเฉ‡เจŸเจพเฅค เจคเฉเจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจ•เฉเจ เจฎเฉŒเจœเฉ‚เจฆเจพ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจคเฉเจธเฉ€เจ‚ เจฌเฉ‡เจจเจคเฉ€ เจฆเจพ เจ†เจชเจฃเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ…เจธเจฒ เจจเจพเจฒเฉ‹เจ‚ เจตเจงเฉ€เจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

PostgreSQL เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เฉ€ เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹เฅค เจ…เจฒเฉˆเจ•เจธเฉ€ เจฒเฉ‡เจธเฉ‹เจตเจธเจ•เฉ€

เจนเจตเจพเจฒเฉ‡

เจตเฉˆเจง เจฒเจฟเฉฐเจ• เจœเฉ‹ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจชเจพเจ เจ—เจ เจธเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจฐเจฟเจชเฉ‹เจฐเจŸ เจตเจฟเฉฑเจš เจธเจจเฅค

เจฒเฉ‡เจ–เจ• เจนเฉ‹เจฐ เจฒเจฟเจ–เฉ‹
https://dataegret.com/news-blog (eng)

เจ…เฉฐเจ•เฉœเจพ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ
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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹