เจ†เจฒเจธเฉ€ เจฒเจˆ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเฉ‹: PostgreSQL 12 เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉเจงเจพเจฐเจฆเจพ เจนเฉˆ

เจ†เจฒเจธเฉ€ เจฒเจˆ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเฉ‹: PostgreSQL 12 เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉเจงเจพเจฐเจฆเจพ เจนเฉˆ

PostgreSQL 12, โ€œเจฆเฉเจจเฉ€เจ† เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฐเจฟเจฒเฉ‡เจธเจผเจจเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธโ€ เจฆเจพ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจ•เฉเจ เจนเจซเจผเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจธเจพเจนเจฎเจฃเฉ‡ เจ† เจฐเจฟเจนเจพ เจนเฉˆ (เจœเฉ‡ เจธเจญ เจฏเฉ‹เจœเจจเจพ เจ…เจจเฉเจธเจพเจฐ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ)เฅค เจ‡เจน เจธเจพเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจฐ เจ‡เฉฑเจ• เจŸเจจ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจ†เจฎ เจ•เจพเจฐเจœเจ•เฉเจฐเจฎ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจฎเฉˆเจ‚ PostgreSQL เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฆเจพ เจ‡เฉฑเจ• เจธเจฐเจ—เจฐเจฎ เจฎเฉˆเจ‚เจฌเจฐ เจฌเจฃ เจ—เจฟเจ† เจนเจพเจ‚เฅค

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

เจชเจฐ PostgreSQL 12 เจ‡เฉฑเจฅเฉ‡ เจจเจนเฉ€เจ‚ เจฐเฉเจ•เจฆเจพ: เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฟเจนเจคเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ•เจฐเจจเจ—เฉ‡, เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจธ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ!

(เจ เฉ€เจ• เจนเฉˆ, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ“, เจชเจฐ เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เฉฐเจจเจพ เจกเจฐเจพเจ‰เจฃเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเจฟเฉฐเจจเจพ เจ…เจธเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค)

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

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

เจคเจพเจ‚ PostgreSQL 12 เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจ…เฉฑเจชเจ—เจฐเฉ‡เจก เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ–เฉเจธเจผ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ? เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉเจฃ เจฆเฉฑเจธเจพเจ‚เจ—เจพเฅค

เจชเฉเจฐเจฎเฉเฉฑเจ– เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจธเฉเจงเจพเจฐ

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

เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ CREATE INDEX ON some_table (some_column), เจ…เจคเฉ‡ PostgreSQL เจ‡เฉฐเจกเฉˆเจ•เจธ เจจเฉ‚เฉฐ เจ…เฉฑเจช เจŸเฉ‚ เจกเฉ‡เจŸ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเจพ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฒเจ—เจพเจคเจพเจฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ‡, เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเฉ‡ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค เจนเจฐ เจšเฉ€เจœเจผ เจ†เจชเจฃเฉ‡ เจ†เจช เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจœเจพเจฆเฉ‚ เจฆเฉเจ†เจฐเจพ.

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

PostgreSQL 12 เจฌเฉ€-เจŸเฉเจฐเฉ€ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเฉเจงเจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ TPC-C เจตเจฐเจ—เฉ‡ เจฌเฉˆเจ‚เจšเจฎเจพเจฐเจ•เจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจจเฉ‡ เจฆเจฟเจ–เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจ”เจธเจคเจจ 40% เจ˜เฉฑเจŸ เจฅเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจจเจพ เจธเจฟเจฐเจซเจผ เจฌเฉ€-เจŸเฉเจฐเฉ€ เจ‡เฉฐเจกเฉˆเจ•เจธ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฃ 'เจคเฉ‡ เจ˜เฉฑเจŸ เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ (เจ…เจฐเจฅเจพเจค, เจฒเจฟเจ–เจฃ เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ 'เจคเฉ‡), เจธเจ—เฉ‹เจ‚ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ 'เจคเฉ‡ เจตเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจนเฉเจค เจ›เฉ‹เจŸเฉ‡ เจนเจจเฅค

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

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

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

PostgreSQL 12 เจจเฉ‡ WAL เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฆเฉ‡ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ เจœเฉ‹ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจจเจฟเจฐเจฎเจพเจฃ เจฆเฉŒเจฐเจพเจจ GiST, GIN, เจ…เจคเฉ‡ SP-GiST เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ เจ—เจ เจนเจจเฅค เจ‡เจน เจ•เจˆ เจ เฉ‹เจธ เจฒเจพเจญ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ: WAL เจฐเจฟเจ•เจพเจฐเจก เจ˜เฉฑเจŸ เจกเจฟเจธเจ• เจธเจชเฉ‡เจธ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจกเจพเจŸเจพ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฐเฉ€เจชเจฒเฉ‡เจ… เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ†เจซเจผเจค เจฐเจฟเจ•เจตเจฐเฉ€ เจœเจพเจ‚ เจชเฉเจ†เจ‡เฉฐเจŸ-เจ‡เจจ-เจŸเจพเจˆเจฎ เจฐเจฟเจ•เจตเจฐเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจชเฉ‹เจธเจŸเจœเฉ€เจ†เจˆเจเจธ-เจ…เจงเจพเจฐเจฟเจค เจญเฉ‚-เจธเจฅเจพเจจเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจœเฉ€เจ†เจˆเจเจธเจŸเฉ€ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ), เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจตเฉฑเจฒเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจฆเฉ‡ เจ…เจจเฉเจญเจต เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ เจ•เจฐเฉ‡เจ—เฉ€เฅค

เจตเจฟเจญเจพเจ—เฉ€เจ•เจฐเจจ - เจตเฉฑเจกเจพ, เจฌเจฟเจนเจคเจฐ, เจคเฉ‡เจœเจผ

PostgreSQL 10 เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ• เจตเฉฐเจก. PostgreSQL 11 เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค PostgreSQL 12 เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจธเจ•เฉ‡เจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

PostgreSQL 12 เจตเจฟเฉฑเจš, เจตเจฟเจญเจพเจ—เฉ€เจ•เจฐเจจ เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจ•เจพเจซเจผเฉ€ เจฌเจฟเจนเจคเจฐ เจนเฉ‹ เจ—เจˆ เจนเฉˆ, เจ–เจพเจธ เจ•เจฐเจ•เฉ‡ เจœเฉ‡ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจนเจœเจผเจพเจฐเจพเจ‚ เจญเจพเจ— เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจนเจœเจผเจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจ เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจฌเจนเฉเจค เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจšเฉฑเจฒเฉ‡เจ—เฉ€เฅค เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ€เจ†เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจฒเจˆ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจตเฉ€ เจตเฉ‡เจ–เฉ‹เจ—เฉ‡ เจ•เจฟ เจ•เจˆ เจญเจพเจ—เจพเจ‚ เจตเจพเจฒเฉ‡ เจŸเฉ‡เจฌเจฒเจพเจ‚ 'เจคเฉ‡ INSERT เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เจฟเฉฐเจจเฉ€ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจกเจพเจŸเจพ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจเจพ เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹ - เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ‡เจน เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจฌเจฒเจ• เจกเจพเจŸเจพ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ JSON เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ โ€” PostgreSQL 12 เจตเจฟเฉฑเจš เจตเจฟเจญเจพเจœเจฟเจค เจŸเฉ‡เจฌเจฒ เจตเฉ€ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒ เจฌเจฃ เจ—เจ เจนเจจเฅค เจ•เจพเจชเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจคเฉ‡เจœเจผ เจธเฉ€, เจชเจฐ PostgreSQL 12 เจตเจฟเฉฑเจš เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เฉฑเจกเจฆเจพ เจนเฉˆเฅค

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

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

เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจนเฉเจฃเฉ‡ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ

เจ•เจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉˆเจš เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ†เจฎ เจธเจพเจฐเจฃเฉ€ เจธเจฎเฉ€เจ•เจฐเจจ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ (เจ‰เจฐเจซเจผ CTE, aka WITH queries), เจฎเฉˆเจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ– เจฒเจฟเจ–เจฃ เจฒเจˆ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ PostgreSQL เจตเจพเจฒเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ•เจฟเฉฐเจจเฉ‡ เจ–เฉเจธเจผ เจธเจจ. เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉˆ เจœเฉ‹ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจ—เฉ€เจ†เจ‚เฅค เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ•, เจฌเฉ‡เจธเจผเจ•, เจคเฉเจธเฉ€เจ‚ CTE เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค

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

PostgreSQL 12 เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจฎเจพเฉœเฉ‡ เจชเฉเจฐเจญเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เจฟเจธเจฎ เจฆเฉ‡ CTE เจจเฉ‚เฉฐ เจ‡เจจเจฒเจพเจˆเจจ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ (SELECT), เจœเฉ‹ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจ…เฉฐเจค เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ CTE เจธเจตเจพเจฒเจพเจ‚ เจฆเจพ เจฐเจฟเจ•เจพเจฐเจก เจฐเฉฑเจ–เจฆเจพ เจนเจพเจ‚ เจœเฉ‹ เจฎเฉˆเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ‡เจธ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจตเจฟเฉฑเจš เจ†เจ‰เจฃเจ—เฉ‡เฅค เจ‡เจน เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจชเจธเจผเจŸ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจนเฉเจฃ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจšเฉฑเจฒเจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, PostgreSQL 12 SQL เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจ†เจชเจŸเฉ€เจฎเจพเจˆเจœเจผ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฌเจฟเจจเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจ•เจฐเจจ เจฆเฉ€เฅค เจ…เจคเฉ‡ เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฎเฉˆเจจเฉ‚เฉฐ เจธเจผเจพเจ‡เจฆ เจนเฉเจฃ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจ‡เจน เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉˆ เจ•เจฟ PostgreSQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ…เจจเฉเจ•เฉ‚เจฒเจจ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

เจœเจธเจŸ-เจ‡เจจ-เจŸเจพเจˆเจฎ (JIT) - เจนเฉเจฃ เจกเจฟเจซเฉŒเจฒเจŸ

เจธเจนเจฟเจฏเฉ‹เจ— เจจเจพเจฒ PostgreSQL 12 เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ LLVM JIT เจธเฉฐเจ•เจฒเจจ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเฉˆเฅค เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเจฐเจฅเจจ เจฎเจฟเจฒเจฆเจพ เจนเฉˆ เจœเฉ‡.เจ†เจˆ.เจŸเฉ€. เจ•เฉเจ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ, เจšเฉ‹เจฃ เจธเฉ‚เจšเฉ€เจ†เจ‚ (เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ SELECT เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉˆ) เจตเจฟเฉฑเจš เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ (เจธเจญ เจคเฉ‹เจ‚ เจธเจฐเจฒ เจ‰เจฆเจพเจนเจฐเจจ x + y เจนเฉˆ), เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚, WHERE เจงเจพเจฐเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจจเจพเจฒ เจธเจตเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ JIT เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

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

PostgreSQL 12 เจตเจฟเฉฑเจš เจฌเจพเจ•เฉ€ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉ€?

PostgreSQL 12 เจตเจฟเฉฑเจš เจฎเจฟเจ†เจฐเฉ€ SQL/JSON เจฐเฉ‚เจŸ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ JSON เจกเฉ‡เจŸเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจพเจฒ เจฎเจฒเจŸเฉ€-เจซเฉˆเจ•เจŸเจฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจคเฉฑเจ•, เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจผเจพเจจเจฆเจพเจฐ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจเฅค clientcert=verify-full, เจ•เจพเจฒเจฎ เจฌเจฃเจพเจ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจเฅค เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเฉ‹เจธเจŸ เจฒเจˆ เจ•เจพเจซเฉ€ เจนเฉˆเฅค

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

เจธเจฐเฉ‹เจค: www.habr.com

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