PostgreSQL 14 DBMS เจฐเฉ€เจฒเฉ€เจœเจผ

เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจพเจฒ เจฌเจพเจ…เจฆ, PostgreSQL 14 DBMS เจฆเฉ€ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจฅเจฟเจฐ เจธเจผเจพเจ–เจพ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจจเจตเฉ€เจ‚ เจธเจผเจพเจ–เจพ เจฒเจˆ เจ…เฉฑเจชเจกเฉ‡เจŸ เจจเจตเฉฐเจฌเจฐ 2026 เจคเฉฑเจ• เจชเฉฐเจœ เจธเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค

เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚:

  • เจเจฐเฉ‡-เจตเจฐเจ—เฉ‡ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ JSON เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; เจšเฉ‹เจฃ เจ•เจฐเฉ‹ * เจŸเฉˆเจธเจŸ เจคเฉ‹เจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจตเฉ‡เจฐเจตเฉ‡['attributes']['size'] = '"เจฎเฉ€เจกเฉ€เจ…เจฎ"';

    hstore เจ•เจฟเจธเจฎ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€/เจฎเฉเฉฑเจฒ เจกเฉ‡เจŸเจพ เจฒเจˆ เจธเจฎเจพเจจ เจธเฉฐเจŸเฉˆเจ•เจธ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเฉฐเจŸเฉˆเจ•เจธ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฒ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเฉ‹ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจ•เจฟเจธเจฎเจพเจ‚ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค hstore เจ•เจฟเจธเจฎ เจฒเจˆ เจ‰เจฆเจพเจนเจฐเจจ: INSERT INTO mytable VALUES ('a=>b, c=>d'); เจฎเจฟเจŸเฉ‡เจฌเจฒ เจคเฉ‹เจ‚ h['a'] เจšเฉเจฃเฉ‹; เจ…เฉฑเจชเจกเฉ‡เจŸ mytable SET h['c'] = 'เจจเจตเจพเจ‚';

  • เจฐเฉ‡เจ‚เจœเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจชเจฐเจฟเจตเจพเจฐ เจจเฉ‚เฉฐ เจจเจตเฉ€เจ†เจ‚ "เจฌเจนเฉ-เจฐเฉ‡เจ‚เจœ" เจ•เจฟเจธเจฎเจพเจ‚ เจจเจพเจฒ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ—เฉˆเจฐ-เจ“เจตเจฐเจฒเฉˆเจชเจฟเฉฐเจ— เจฐเฉ‡เจ‚เจœเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจธเฉ‚เจšเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจฎเฉŒเจœเฉ‚เจฆเจพ เจฐเฉ‡เจ‚เจœ เจ•เจฟเจธเจฎ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจธเจฆเฉ€ เจ†เจชเจฃเฉ€ เจฎเจฒเจŸเฉ€เจฐเฉ‡เจ‚เจœ เจ•เจฟเจธเจฎ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เจฟเจธเจฎ "int4range" "int4multirange" เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ "daterange" เจ•เจฟเจธเจฎ "datemultirange" เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจจเจตเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจฐเฉ‡เจ‚เจœเจพเจ‚ เจฆเฉ‡ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ•เฉเจฐเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค '{[3,7), [8,9)}'::int4multirange; nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0)) เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‹;
  • เจ‰เฉฑเจš-เจฒเฉ‹เจก เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ‡ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจœเฉ‹ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ•เฉเจ เจŸเฉˆเจธเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจฆเฉ‹ เจ—เฉเจฃเจพ เจตเจพเจงเจพ เจฆเฉ‡เจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • เจฌเฉ€-เจŸเฉเจฐเฉ€ เจ‡เฉฐเจกเฉˆเจ•เจธ เจฆเฉ€ เจ•เฉเจธเจผเจฒเจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจ•เจธเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ 'เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ‡ เจตเจพเจงเฉ‡ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจชเฉเจฐเจธเจพเจฐเจฃ เจฆเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ-เจธเจพเจˆเจก (libpq เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚) เจฎเฉ‹เจก เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจญเฉ‡เจœ เจ•เฉ‡ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ›เฉ‹เจŸเฉ‡ เจฒเจฟเจ–เจฃ เจ•เจพเจฐเจœเจพเจ‚ (INSERT/UPDATE/DELETE) เจ•เจฐเจจ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจชเจฟเจ›เจฒเฉ‡ เจ‡เฉฑเจ• เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ…เจ—เจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€. เจฎเฉ‹เจก เจฒเฉฐเจฌเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจกเจฟเจฒเฉ€เจตเจฐเฉ€ เจฆเฉ‡เจฐเฉ€ เจตเจพเจฒเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจตเฉ€ เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจ•เจˆ PostgreSQL เจธเจฐเจตเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจตเฉฐเจกเฉ€เจ†เจ‚ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚เฅค เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฐเฉ€เจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš, เจนเฉเจฃ เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจฎเฉ‹เจก เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจนเจจ, เจœเฉ‹ เจ•เจฟ เจตเฉฑเจกเฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฒเจพเจœเจผเฉ€เจ•เจฒ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฒเจพเจœเจผเฉ€เจ•เจฒ เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ.
  • เจฌเจพเจนเจฐเฉ€ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจฒเจˆ เจตเจฟเจงเฉ€ เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจกเฉ‡เจŸเจพ เจฐเฉˆเจชเจฐ (postgres_fdw) เจจเฉ‡ เจชเฉˆเจฐเจฒเจฒ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ เจฆเฉ‚เจœเฉ‡ PostgreSQL เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจจ เจตเฉ‡เจฒเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค postgres_fdw เจฌเฉˆเจš เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฌเจพเจนเจฐเฉ€ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจกเจพเจŸเจพ เจœเฉ‹เฉœเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ "เจ‡เจชเฉ‹เจฐเจŸ เจซเจพเจฐเฉ‡เจจ เจธเจ•เฉ€เจฎเจพ" เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจ•เฉ‡ เจตเจฟเจญเจพเจœเจจเจฟเจค เจŸเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • VACUUM เจ“เจชเจฐเฉ‡เจธเจผเจจ (เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจกเจฟเจธเจ• เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเฉ€ เจชเฉˆเจ•เฉ‡เจœเจฟเฉฐเจ—) เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพเจตเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค เจ‡เฉฑเจ• เจเจฎเจฐเจœเฉˆเจ‚เจธเฉ€ เจ•เจฒเฉ€เจจเจ…เฉฑเจช เจฎเฉ‹เจก เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจ—เฉˆเจฐ-เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเจซเจผเจพเจˆ เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจ†เจˆเจกเฉ€ เจฐเฉˆเจชเจฐเจพเจ‰เจ‚เจก เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฌเจฃเจพเจˆเจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค B-Tree เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‡เจ† เจ—เจฟเจ†เฅค เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฌเจพเจฐเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจ‡เจ•เฉฑเจคเจฐ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ "เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ" เจ“เจชเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจซเจผเฉ€ เจคเฉ‡เจœเจผเฉ€ เจ†เจˆ เจนเฉˆเฅค
  • TOAST เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจ—เจˆ เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจตเฉฑเจกเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจฌเจฒเจพเจ• เจœเจพเจ‚ เจœเจฟเจ“เจฎเฉˆเจŸเฉเจฐเจฟเจ• เจœเจพเจฃเจ•เจพเจฐเฉ€เฅค pglz เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ เจตเจฟเจงเฉ€ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, TOAST เจนเฉเจฃ LZ4 เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจกเฉ€เจฌเฉ€เจเจฎเจเจธ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจฒเจˆ เจธเจพเจงเจจเจพเจ‚ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค COPY เจ•เจฎเจพเจ‚เจกเจพเจ‚ (pg_stat_progress_copy), เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเจฒเจพเจŸ (pg_stat_replication_slots) เจฌเจพเจฐเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจ…เจคเฉ‡ WAL เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฒเฉŒเจ— (pg_stat_wal) เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจ•เจฐเจจ เจฒเจˆ เจตเจฟเจฏเฉ‚เจœเจผ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค compute_query_id เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจช-เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ pg_stat_activity เจ…เจคเฉ‡ EXPLAIN VERBOSE, เจนเจฐเฉ‡เจ• เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจ•เฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจŸเจฐเฉˆเจ• เจ•เจฐเจจ เจฒเจˆเฅค
  • เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ€ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ•เฉเจฐเจฎเจตเจพเจฐ เจฐเจฟเจ•เจพเจฐเจก เจธเจ•เฉˆเจจ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚, PL/pgSQL เจตเจฟเฉฑเจš "เจฐเจฟเจŸเจฐเจจ เจ•เจตเฉ‡เจฐเฉ€" เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ, เจ…เจคเฉ‡ "เจตเจฟเฉฑเจš เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฏเฉ‹เจœเจจเจพเจ•เจพเจฐ เจตเจฟเฉฑเจš เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพเจตเจพเจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค เจชเจฆเจพเจฐเจฅเจ• เจฆเฉเจฐเจฟเจธเจผ เจจเฉ‚เฉฐ เจคเจพเจœเจผเจพ เจ•เจฐเฉ‹โ€เฅค เจธเจพเจˆเจ•เจฒเจฟเจ• เจจเฉ‡เจธเจŸเจก เจ…เจญเฉ‡เจฆ (เจœเฉ‹เจ‡เจจ) เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจตเจพเจงเฉ‚ เจ•เฉˆเจšเจฟเฉฐเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจเจกเจตเจพเจ‚เจธเจก เจ…เฉฐเจ•เฉœเฉ‡ เจนเฉเจฃ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจตเจงเจฆเฉ€ เจ›เจพเจ‚เจŸเฉ€ เจจเฉ‚เฉฐ เจนเฉเจฃ เจตเจฟเฉฐเจกเฉ‹ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฆเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจนเฉเจฃ "เจ†เจŠเจŸ" เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเจพเจชเจธเฉ€ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
  • เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจค เจ…เฉฐเจคเจฐเจพเจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ—เฉ‹เจฒ เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจฎเฉเฉฑเจฒเจพเจ‚ เจตเจฟเฉฑเจš date_bin เจซเฉฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค เจฎเจฟเจคเฉ€_เจฌเจฟเจจ เจšเฉเจฃเฉ‹('15 เจฎเจฟเฉฐเจŸ', เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช '2020-02-11 15:44:17', เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช '2001-01-01'); 2020-02-11 15:30:00
  • เจฐเจฟเจ•เจฐเจธเจฟเจต เจ•เจพเจฎเจจ เจŸเฉ‡เจฌเจฒ เจเจ•เจธเจชเฉเจฐเฉˆเจธเจผเจจ (CTE) เจตเจฟเฉฑเจš เจšเฉฑเจ•เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจฐเจกเจฐ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจชเจ›เจพเจฃเจจเจพ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ SQL เจธเจŸเฉˆเจ‚เจกเจฐเจก เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ–เฉ‹เจœ เจ…เจคเฉ‡ เจธเจพเจˆเจ•เจฒ เจธเจฎเฉ€เจ•เจฐเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค RECURSIVE search_tree(id, link, data) AS ( เจธเจฟเจฒเฉˆเจ•เจŸ t.id, t.link, t.data FROM เจŸเจฐเฉ€ t UNION All SELECT t.id, t.link, t.data FROM เจŸเจฐเฉ€ t, search_tree st WHERE tเฅค id = st.link ) เจ–เฉ‹เจœ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจ†เจˆ.เจกเฉ€. เจธเฉˆเฉฑเจŸ เจ†เจฐเจกเจฐเจ•เฉ‹เจฒ เจฆเฉเจ†เจฐเจพ เจšเฉเจฃเฉ‹ * เจธเจฐเจš_เจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจ†เจฐเจกเจฐเจ•เฉ‹เจฒ เจฆเฉเจ†เจฐเจพ เจ†เจฐเจกเจฐ เจ•เจฐเฉ‹;
  • psql เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเจฟเฉฑเจš, เจŸเฉˆเจฌเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ€ เจธเจตเฉˆ-เจชเฉ‚เจฐเจคเฉ€ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจซเฉฐเจ•เจธเจผเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ โ€œ\dfโ€ เจ•เจฎเจพเจ‚เจก เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ โ€œ\dXโ€ เจ•เจฎเจพเจ‚เจก เจตเจฟเฉฑเจš เจซเฉˆเจฒเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค
  • เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ-เจชเฉœเฉเจนเจจ เจœเจพเจ‚ เจธเจฟเจฐเจซเจผ-เจฒเจฟเจ–เจฃ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจธเฉŒเจ‚เจชเจฃเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค pg_read_all_data เจ…เจคเฉ‡ pg_write_all_data เจชเฉ‚เจฐเจต-เจชเฉเจฐเจญเจพเจธเจผเจฟเจค เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจŸเฉ‡เจฌเจฒเจพเจ‚, เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจ…เจคเฉ‡ เจธเจ•เฉ€เจฎเจพเจ‚ 'เจคเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจฏเฉ‚เจœเจผเจฐ1 เจจเฉ‚เฉฐ pg_read_all_data GRANT;
  • เจจเจตเฉ€เจ‚เจ†เจ‚ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ md256 เจฆเฉ€ เจฌเจœเจพเจ SCRAM-SHA-5 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเจพเจธเจตเจฐเจก เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจฒเจˆ เจกเจฟเจซเจพเจฒเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (postgresql.conf เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ "password_encryption" เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเฉเจฃ 'scram-sha-256' 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)เฅค

เจธเจฐเฉ‹เจค: opennet.ru

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