PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด‡เดคเดฟเดจเด•เด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดชเดฒเดฐเตเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเด•.tensor.ru - เดžเด™เตเด™เดณเตเดŸเต† PostgreSQL เดชเตเดฒเดพเตป เดตเดฟเดทเตเดตเดฒเตˆเดธเต‡เดทเตป เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เด…เดคเดฟเดจเตเดฑเต† เดธเต‚เดชเตเดชเตผ เดชเดตเดฑเตเด•เดณเดฟเดฒเตŠเดจเตเดจเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚ - เดธเต†เตผเดตเตผ เดฒเต‹เด—เดฟเดจเตเดฑเต† เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดชเตเดฐเดฏเดพเดธเดฎเตเดณเตเดณ เด’เดฐเต เดญเดพเด—เด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต...

PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚
... เด…เดจเตเดฌเดจเตเดง เดชเตเดฒเดพเตป เดจเต‹เดกเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดธเดจเตเดฆเตผเดญเต‹เดšเดฟเดคเดฎเดพเดฏ เดธเต‚เดšเดจเด•เดณเต‹เดŸเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดค เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต:

PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚
เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เดˆ เดŸเตเดฐเดพเตปเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเตฝ PGConf.Russia 2020-เตฝ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดžเด™เตเด™เตพ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดคเตเดตเต†เดจเตเดจเต เดžเดพเตป เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚.

เด†เดฆเตเดฏ เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เดŸเตเดฐเดพเตปเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต, เดธเดพเดงเดพเดฐเดฃ เด…เดจเตเดตเต‡เดทเดฃ เดชเตเดฐเด•เดŸเดจ เดชเตเดฐเดถเตเดจเด™เตเด™เตพเด•เตเด•เตเด‚ เด…เดตเดฏเตเดŸเต† เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพเด•เตเด•เตเด‚ เดตเต‡เดฃเตเดŸเดฟ เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด•เดพเดฃเดพเด‚ "เด…เดธเตเด–เดฎเตเดณเตเดณ SQL เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดพเดšเด•เด•เตเด•เตเดฑเดฟเดชเตเดชเตเด•เตพ".



เด†เดฆเตเดฏเด‚, เดจเดฎเตเด•เตเด•เต เด•เดณเดฑเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚ - เดžเด™เตเด™เตพ เด‡เดจเดฟ เดชเตเดฒเดพเตป เด•เดณเตผ เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ, เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดจเดฟเดฑเด‚ เดจเตฝเด•เดฟ, เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดฎเดจเต‹เดนเดฐเดตเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเตเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ.

เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดคเตเดค โ€œเดทเต€เดฑเตเดฑเตโ€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเต‹เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฒเดฟเดšเตเดšเต†เดŸเตเดคเตเดค เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดณเดฐเต† เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸเดคเตเด‚ เด…เดคเดฟเดจเดพเตฝ เด…เดธเต—เด•เดฐเตเดฏเดตเตเดฎเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เดคเต‹เดจเตเดจเดฟ.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เด•เต‹เดกเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดฌเต‹เดกเดฟ เด’เดฐเต เดตเดฐเดฟเดฏเดฟเตฝ "เดชเดถ" เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ (เด‡เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด’เดฐเต เด†เดจเตเดฑเดฟเดชเดพเดฑเตเดฑเต‡เตบ เด†เดฃเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต). เดญเดฏเด™เตเด•เดฐเด‚!

เด‡เดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต‚เดŸเตเดคเตฝ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เดตเดฐเดฏเตเด•เตเด•เดพเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดจเดฎเตเด•เตเด•เต เด‡เดคเต เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เดตเดฐเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ, เด…เดคเดพเดฏเดคเต, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดฌเต‹เดกเดฟ เดกเดฟเดธเตเด…เดธเด‚เดฌเตเดฒเดฟเด‚เด—เต เดšเต†เดฏเตโ€Œเดคเต เดตเต€เดฃเตเดŸเตเด‚ เด’เดฐเตเดฎเดฟเดšเตเดšเต เดšเต‡เตผเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ, เดˆ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เด“เดฐเต‹ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดธเต‚เดšเดจ "เด…เดฑเตเดฑเดพเดšเตเดšเต" เดšเต†เดฏเตเดฏเดพเด‚ - เดชเตเดฒเดพเดจเดฟเดฒเต† เด…เดจเตเดฌเดจเตเดง เดชเต‹เดฏเดฟเดจเตเดฑเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต.

เดšเต‹เดฆเตเดฏเด‚ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดŸเตเดฐเต€

เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด†เดฆเตเดฏเด‚ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดฃเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด•เดพเดฐเดฃเด‚ เดจเดฎเตเด•เตเด•เตเดฃเตเดŸเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดคเตฝ NodeJS-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดžเด™เตเด™เตพ เด…เดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดฎเตŠเดกเตเดฏเต‚เตพ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเตเด‚ GitHub-เตฝ เด…เดคเต เด•เดฃเตเดŸเต†เดคเตเดคเตเด•. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด‡เดต PostgreSQL เดชเดพเตผเดธเดฑเดฟเดจเตเดฑเต† เด‡เดจเตเดฑเต‡เดฃเดฒเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดš "เดฌเตˆเตปเดกเดฟเด‚เด—เตเด•เตพ" เด†เดฃเต. เด…เดคเดพเดฏเดคเต, เดตเตเดฏเดพเด•เดฐเดฃเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดฌเตˆเดจเดฑเดฟ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ NodeJS-เตฝ เดจเดฟเดจเตเดจเต เดฌเตˆเตปเดกเดฟเด‚เด—เตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดžเด™เตเด™เตพ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฐเตเดŸเต† เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเดฏเดฟ เดŽเดŸเตเดคเตเดคเต - เด‡เดตเดฟเดŸเต† เดตเดฒเดฟเดฏ เดฐเดนเดธเตเดฏเดฎเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ.

เดžเด™เตเด™เดณเตเดŸเต† เดซเด‚เด—เตโ€Œเดทเดจเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดฌเต‹เดกเดฟ เดžเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต - เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเตฝ เดจเดฎเตเด•เตเด•เต JSON เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด’เดฐเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตโ€Œเดค เดตเดพเด•เตเดฏเด˜เดŸเดจ เดŸเตเดฐเต€ เดฒเดญเดฟเด•เตเด•เตเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เดˆ เดŸเตเดฐเต€เดฏเดฟเดฒเต‚เดŸเต† เดŽเดคเดฟเตผเดฆเดฟเดถเดฏเดฟเตฝ เด“เดŸเตเด•เดฏเตเด‚ เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด‡เตปเดกเดจเตเดฑเตเด•เตพ, เด•เดณเดฑเดฟเด‚เด—เต, เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเด‚เด—เต เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚. เด‡เดฒเตเดฒ, เด‡เดคเต เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด‡เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เดคเต‹เดจเตเดจเดฟ.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดฎเดพเดชเตเดชเดฟเด‚เด—เต เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดชเตเดฒเดพเตป เดจเต‹เดกเตเด•เดณเตเด‚

เด†เดฆเตเดฏ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดค เดชเตเดฒเดพเดจเตเด‚ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเตฝ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดค เดšเต‹เดฆเตเดฏเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚.

เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด‰เดฆเดพเดนเดฐเดฃเดฎเต†เดŸเตเด•เตเด•เดพเด‚ - เด’เดฐเต CTE เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดฃเตเดŸเตเดคเดตเดฃ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดšเต‹เดฆเตเดฏเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต. เด…เดตเตป เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเดฆเตเดงเดคเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

.เดฎเดพเดฐเต†เดœเดฟเดจเต

เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดถเตเดฐเดฆเตเดงเดพเดชเต‚เตผเดตเตเดตเด‚ เดจเต‹เด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเดคเดฟเดชเตเดชเต 12 เดตเดฐเต† (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เต€เดตเต‡เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต MATERIALIZED) เดฐเต‚เดชเต€เด•เดฐเดฃเด‚ เดชเตเดฒเดพเดจเตผเด•เตเด•เต CTE เด’เดฐเต เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดคเดŸเดธเตเดธเดฎเดพเดฃเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดฐเต CTE เดคเดฒเดฎเตเดฑเดฏเตเด‚ เดชเตเดฒเดพเดจเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดฐเต เดจเต‹เดกเตเด‚ เด•เดพเดฃเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ CTE, เด…เดชเตเดชเต‹เตพ เดˆ เดจเต‹เดกเตเด•เตพ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดชเดฐเดธเตเดชเดฐเด‚ "เดฏเตเดฆเตเดงเด‚" เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดจเดฎเตเด•เตเด•เต เด…เดตเดฏเต† เด‰เดŸเดจเดŸเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เด’เดฐเต เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดคเตเดคเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด‚: CTE เด•เตพ เด•เต‚เดŸเตเดฃเตเดŸเดพเด•เตเด•เดพเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚
เดตเดณเดฐเต† เดฎเต‹เดถเดฎเดพเดฏเดฟ เดจเต†เดธเตเดฑเตเดฑเดกเต เดšเต†เดฏเตเดคเดตเดฏเตเด‚ เด…เดคเต‡ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณเดตเดฏเตเด‚ เด‰เดฃเตเดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เด•เดคเตเดคเต เด•เดดเดฟเดฏเตเด‚ CTE A เด‰เดฃเตเดŸเดพเด•เตเด•เตเด• CTE X, เด…เด•เดคเตเดคเต เด…เดคเต‡ เดคเดฒเดคเตเดคเดฟเตฝ CTE B เดตเต€เดฃเตเดŸเตเด‚ เดšเต†เดฏเตเดฏเตเด• CTE X:

WITH A AS (
  WITH X AS (...)
  SELECT ...
)
, B AS (
  WITH X AS (...)
  SELECT ...
)
...

เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฃเด‚. โ€œเดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฃเตเดฃเตเด•เตŠเดฃเตเดŸเตโ€ เด‡เดคเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต - เดชเตเดฒเดพเตป เด•เดพเดฃเตเดจเตเดจเดคเต เดชเต‹เดฒเตเด‚, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดฌเต‹เดกเดฟ เด•เดพเดฃเตเดจเตเดจเดคเต เดชเต‹เดฒเตเด‚ - เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† CTE เดคเดฒเดฎเตเดฑ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดตเตเด‚ เด•เต‚เดŸเตเด•เต‚เดŸเตเดŸเดฟเดฏเดคเตเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดตเดฒเตเดคเตเด‚ เด†เดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด…เดฌเต‹เดงเดพเดตเดธเตเดฅเดฏเดฟเดฒเดพเดฃเต.

UNION

เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเตฝ เด’เดฐเต เด•เต€เดตเต‡เดกเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ UNION [ALL] (เดฐเดฃเตเดŸเต เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ), เดคเตเดŸเตผเดจเตเดจเต เดชเตเดฒเดพเดจเดฟเตฝ เด…เดคเต เด’เดฐเต เดจเต‹เดกเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต Append, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดšเดฟเดฒเดคเต Recursive Union.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดฎเตเด•เดณเดฟเตฝ "เดฎเตเด•เดณเดฟเตฝ" เด‰เดณเตเดณเดคเต UNION - เด‡เดคเดพเดฃเต เดžเด™เตเด™เดณเตเดŸเต† เดจเต‹เดกเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดชเดฟเตปเด—เดพเดฎเดฟ, เด…เดคเต โ€œเดคเดพเดดเต†โ€ - เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต. เดตเดดเดฟเดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ UNION เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต‡เดธเดฎเดฏเด‚ เดจเดฟเดฐเดตเดงเดฟ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ "เด’เดŸเตเดŸเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต" Append-เด…เดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดจเต‹เดกเต เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดฃเตเดŸเดพเด•เต‚, เดชเด•เตเดทเต‡ เด…เดคเดฟเดจเต เดฐเดฃเตเดŸเดฒเตเดฒ, เดงเดพเดฐเดพเดณเด‚ เด•เตเดŸเตเดŸเดฟเด•เดณเตเดฃเตเดŸเดพเด•เตเด‚ - เด…เดตเตผ เดชเต‹เด•เตเดจเตเดจ เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ, เดฏเดฅเดพเด•เตเดฐเดฎเด‚:

  (...) -- #1
UNION ALL
  (...) -- #2
UNION ALL
  (...) -- #3

Append
  -> ... #1
  -> ... #2
  -> ... #3

เด’เดฐเต เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเดคเตเดคเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด‚: เด†เดตเตผเดคเตเดคเดจ เดธเดพเดฎเตเดชเดฟเตพ เดœเดจเดฑเต‡เดทเตป เด‰เดณเตเดณเดฟเตฝ (WITH RECURSIVE) เด’เดจเตเดจเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เด†เด•เดพเด‚ UNION. เดŽเดจเตเดจเดพเตฝ เด…เดตเดธเดพเดจเดคเตเดคเต‡เดคเดฟเดจเต เดถเต‡เดทเดฎเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเต† เดฌเตเดฒเต‹เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดŽเดชเตเดชเต‹เดดเตเด‚ เด†เดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเด•เตเดจเตเดจเดคเต UNION. เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณเดคเต†เดฒเตเดฒเดพเด‚ เด’เดจเตเดจเดพเดฃเต, เดชเด•เตเดทเต‡ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต UNION:

WITH RECURSIVE T AS(
  (...) -- #1
UNION ALL
  (...) -- #2, ั‚ัƒั‚ ะบะพะฝั‡ะฐะตั‚ัั ะณะตะฝะตั€ะฐั†ะธั ัั‚ะฐั€ั‚ะพะฒะพะณะพ ัะพัั‚ะพัะฝะธั ั€ะตะบัƒั€ัะธะธ
UNION ALL
  (...) -- #3, ั‚ะพะปัŒะบะพ ัั‚ะพั‚ ะฑะปะพะบ ั€ะตะบัƒั€ัะธะฒะฝั‹ะน ะธ ะผะพะถะตั‚ ัะพะดะตั€ะถะฐั‚ัŒ ะพะฑั€ะฐั‰ะตะฝะธะต ะบ T
)
...

เด…เดคเตเดคเดฐเด‚ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ "เดชเตเดฑเดคเตเดคเตเดจเดฟเตฝเด•เตเด•เดพเตป" เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเดฃเด‚. เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฎเตเดฎเตพ เด…เดคเต เด•เดพเดฃเตเดจเตเดจเต UNION- เดžเด™เตเด™เดณเตเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ 3 เดธเต†เด—เตโ€Œเดฎเต†เดจเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เด’เดจเตเดจเต UNION เดŽเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต Append-เดจเต‹เดกเต, เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเดฒเต‡เด•เตเด•เต - Recursive Union.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดกเดพเดฑเตเดฑ เดตเดพเดฏเดฟเด•เตเด•เตเด•-เดŽเดดเตเดคเตเด•

เดŽเดฒเตเดฒเดพเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดเดคเต เดญเดพเด—เดฎเดพเดฃเต เดชเตเดฒเดพเดจเดฟเดจเตเดฑเต† เดเดคเต เดญเดพเด—เดตเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต†เดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เดฑเดฟเดฏเดพเด‚. เดˆ เดญเดพเด—เด™เตเด™เดณเดฟเตฝ "เดตเดพเดฏเดฟเด•เตเด•เดพเตป" เด•เดดเดฟเดฏเตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เตพ เดจเดฎเตเด•เตเด•เต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเดฒเตเด‚ เดธเตเดตเดพเดญเดพเดตเดฟเด•เดฎเดพเดฏเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚.

เด’เดฐเต เดšเต‹เดฆเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ, เด‡เดคเต เด’เดฐเต เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฃเต‹ CTE เด†เดฃเต‹ เดŽเดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดต เด’เดฐเต‡ เดจเต‹เดกเดพเดฃเต เดจเดฟเดฏเตเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต RangeVar. โ€œเดตเดพเดฏเดจเด•เตเดทเดฎเดคโ€ เดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เดตเดณเดฐเต† เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดจเต‹เดกเตเด•เตพ เด•เต‚เดŸเดฟเดฏเดพเดฃเต:

  • Seq Scan on [tbl]
  • Bitmap Heap Scan on [tbl]
  • Index [Only] Scan [Backward] using [idx] on [tbl]
  • CTE Scan on [cte]
  • Insert/Update/Delete on [tbl]

เดชเตเดฒเดพเดจเดฟเดจเตเดฑเต†เดฏเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เด˜เดŸเดจ เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚, เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเตเดŸเต† เด•เดคเตเดคเดฟเดŸเดชเดพเดŸเตเด•เตพ เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚, เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเต‡เดฐเตเด•เตพ เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚ - เดžเด™เตเด™เตพ เด’เดจเตเดจเต-เดŸเต-เดตเตบ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดตเต€เดฃเตเดŸเตเด‚ เดŸเดพเดธเตเด•เต "เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต". เดžเด™เตเด™เตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เดžเด™เตเด™เตพเด•เตเด•เต เด…เดชเดฐเดจเดพเดฎเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ - เด’เดฐเต‡ CTE-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เด‡เดคเต เดฐเดฃเตเดŸเตเดคเดตเดฃ เดตเดพเดฏเดฟเดšเตเดšเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดžเด™เตเด™เตพ เดชเตเดฒเดพเตป เดจเต‹เด•เตเด•เตเดจเตเดจเต - เดŽเดจเตเดคเดพเดฃเต เดชเตเดฐเดถเตเดจเด‚? เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด…เดชเดฐเดจเดพเดฎเด‚ เด‰เดฃเตเดŸเดพเดฏเดคเต? เดžเด™เตเด™เตพ เด…เดคเต เด“เตผเดกเตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เด…เดฏเดพเตพเด•เตเด•เต เด…เดคเตเดคเดฐเดฎเตŠเดฐเต "เดจเดฎเตเดชเตผ เดจเดฎเตเดชเตผ" เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต เดฒเดญเดฟเด•เตเด•เตเด‚?

PostgreSQL เด…เดคเต เดคเดจเตเดจเต† เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เด…เดคเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟเดฏเดพเตฝ เดฎเดคเดฟ เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เด…เดชเดฐเดจเดพเดฎเด‚ เดžเด™เตเด™เดณเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดชเตเดฒเดพเดจเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต, เด…เดคเดฟเตฝ เด…เตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ, เด…เดคเต เด‡เดตเดฟเดŸเต† เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เดจเดพเด‚ เด…เดตเดจเต† เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดฐเตเดคเต.

เดฐเดฃเตเดŸเดพเดฎเดคเต เดŸเดพเดธเตเด•เต "เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต": เดจเดฎเตเดฎเตพ เด’เดฐเต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดšเต†เดฏเตเดค เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต†เด™เตเด•เดฟเตฝ, เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดจเต‹เดกเต เดฒเดญเดฟเด•เตเด•เตเด‚ Append เด…เดฅเดตเดพ Merge Append, เด…เดคเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ "เด•เตเดŸเตเดŸเดฟเด•เตพ" เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดตเดฏเดฟเตฝ เด“เดฐเต‹เดจเตเดจเตเด‚ เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ ScanเดชเดŸเตเดŸเดฟเด• เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต 'เด“เด‚: Seq Scan, Bitmap Heap Scan เด…เดฅเดตเดพ Index Scan. เดชเด•เตเดทเต‡, เดเดคเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚, เดˆ โ€œเด•เตเดŸเตเดŸเดฟเด•เตพโ€ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดšเต‹เดฆเตเดฏเด™เตเด™เดณเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ - เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต เดˆ เดจเต‹เดกเตเด•เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเต Append at UNION.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดžเด™เตเด™เตพ เด…เดคเตเดคเดฐเด‚ เด•เต†เดŸเตเดŸเตเด•เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเต† "เด’เดฐเต เดšเดฟเดคเดฏเดฟเตฝ" เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฑเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•: "เดฎเต†เด—เต‡เดฑเตเดฑเดฌเดฟเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดฒเตเดฒเดพเด‚ เด‡เดตเดฟเดŸเต†เดฏเตเด‚ เดฎเดฐเดคเตเดคเดฟเดจเต เดคเดพเดดเต†เดฏเตเดฎเดพเดฃเต".

"เดฒเดณเดฟเดคเดฎเดพเดฏ" เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดจเต‹เดกเตเด•เตพ

PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

Values Scan เดชเดฆเตเดงเดคเดฟเดฏเดฟเตฝ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต VALUES เด…เดชเต‡เด•เตเดทเดฏเดฟเตฝ.

Result เด‡เดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดพเดฃเต FROM เดชเต‹เดฒเต† SELECT 1. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดจเดชเตเดชเต‚เตผเดตเตเดตเด‚ เดคเต†เดฑเตเดฑเดพเดฏ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด‚ เด‰เดณเตเดณเดชเตเดชเต‹เตพ WHERE-เดฌเตเดฒเต‹เด•เตเด•เต (เด…เดชเตเดชเต‹เตพ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจเต One-Time Filter):

EXPLAIN ANALYZE
SELECT * FROM pg_class WHERE FALSE; -- ะธะปะธ 0 = 1

Result  (cost=0.00..0.00 rows=0 width=230) (actual time=0.000..0.000 rows=0 loops=1)
  One-Time Filter: false

Function Scan เด…เดคเต‡ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณ SRF-เด•เดณเดฟเดฒเต‡เด•เตเด•เต "เดฎเดพเดชเตเดชเต".

เดŽเดจเตเดจเดพเตฝ เดจเต†เดธเตเดฑเตเดฑเดกเต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เดณเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด•เต‚เดŸเตเดคเตฝ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต - เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เด…เดต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดฎเดพเดฑเตเดจเตเดจเดฟเดฒเตเดฒ InitPlan/SubPlan. เดšเดฟเดฒเดชเตเดชเต‹เตพ เด…เดต เดฎเดพเดฑเตเดจเตเดจเต ... Join เด…เดฅเดตเดพ ... Anti Join, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เด‡เดคเตเดชเต‹เดฒเต† เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ WHERE NOT EXISTS .... เด‡เดตเดฟเดŸเต† เด…เดต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ - เดชเตเดฒเดพเดจเดฟเดจเตเดฑเต† เดตเดพเดšเด•เดคเตเดคเดฟเตฝ เดชเตเดฒเดพเดจเดฟเดจเตเดฑเต† เดจเต‹เดกเตเด•เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเดฟเดฒเตเดฒ.

เดตเต€เดฃเตเดŸเตเด‚ เดŸเดพเดธเตเด•เต "เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต": เดšเดฟเดฒเดคเต VALUES เด…เดชเต‡เด•เตเดทเดฏเดฟเตฝ. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚ เดชเตเดฒเดพเดจเดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดจเต‹เดกเตเด•เตพ เดฒเดญเดฟเด•เตเด•เตเด‚ Values Scan.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

"เดจเดฎเตเดชเตผ เดšเต†เดฏเตเดค" เดชเตเดฐเดคเตเดฏเดฏเด™เตเด™เตพ เด…เดตเดฏเต† เดชเดฐเดธเตเดชเดฐเด‚ เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เดธเดนเดพเดฏเดฟเด•เตเด•เตเด‚ - เด…เดจเตเดฌเดจเตเดงเดฎเดพเดฏเดต เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจ เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ เด…เดต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. VALUES-เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดคเดพเดดเต‡เด•เตเด•เต เดคเดŸเดฏเตเดจเตเดจเต.

เดกเดพเดฑเตเดฑ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต

เดžเด™เตเด™เดณเตเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต - เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดคเตเดฐเดฎเดพเดคเตเดฐเด‚ Limit.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เดŽเดฒเตเดฒเดพเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต - เด…เดคเตเดคเดฐเด‚ เดจเต‹เดกเตเด•เตพ Limit, Sort, Aggregate, WindowAgg, Unique เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเต† เด…เดจเตเดฌเดจเตเดง เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เด…เดตเตผเด•เตเด•เต "เดฎเดพเดชเตเดชเต" เด’เดจเตเดจเต-เดŸเต-เดตเตบ. เด‡เดตเดฟเดŸเต† "เดจเด•เตเดทเดคเตเดฐเด™เตเด™เตพ" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เด‡เดฒเตเดฒ.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดšเต‡เดฐเตเด•

เดจเดฎเตเดฎเตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจเต JOIN เดคเด™เตเด™เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ. เด‡เดคเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด‡เดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด…เดจเตเดตเต‡เดทเดฃ เดชเดพเดดเตโ€ŒเดธเดฑเตเดŸเต† เด•เดพเดดเตเดšเดชเตเดชเดพเดŸเดฟเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดจเต‹เดกเต เด‰เดฃเตเดŸเต JoinExpr, เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดฐเดฃเตเดŸเต เด•เตเดŸเตเดŸเดฟเด•เดณเตเดฃเตเดŸเต - เด‡เดŸเดคเตเดคเตเด‚ เดตเดฒเดคเตเดคเตเด‚. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดœเต‹เดฏเดฟเตป "เดฎเตเด•เดณเดฟเตฝ" เด‰เดณเตเดณเดคเตเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ "เดšเตเดตเดŸเต†" เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด‡เดคเดพเดฃเต.

เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ, เด‡เดตเตผ เดšเดฟเดฒเดฐเตเดŸเต† เดฐเดฃเตเดŸเต เดชเดฟเตปเด—เดพเดฎเดฟเด•เดณเดพเดฃเต * Loop/* Join-เดจเต‹เดกเต. Nested Loop, Hash Anti Join,... - เด…เดคเต เดชเต‹เดฒเต† เด’เดจเตเดจเต.

เดจเดฎเตเด•เตเด•เต เดฒเดณเดฟเดคเดฎเดพเดฏ เดฒเต‹เดœเดฟเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: เดชเตเดฒเดพเดจเดฟเตฝ เดชเดฐเดธเตเดชเดฐเด‚ "เดšเต‡เดฐเตเดจเตเดจ" เดŽ, เดฌเดฟ เดชเดŸเตเดŸเดฟเด•เด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เด…เดต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚. A-JOIN-B, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ B-JOIN-A. เดจเดฎเตเด•เตเด•เต เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚, เดจเดฎเตเด•เตเด•เต เดฎเดฑเตเดฑเตŠเดฐเต เดตเดดเดฟ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚, เด…เด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดœเต‹เดกเดฟเด•เตพ เดคเต€เดฐเตเดจเตเดจเดคเต เดตเดฐเต†.

เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เดตเดพเด•เตเดฏเด˜เดŸเดจ เดŽเดŸเตเด•เตเด•เดพเด‚, เดจเดฎเตเดฎเตเดŸเต† เดชเตเดฒเดพเตป เดŽเดŸเตเด•เตเด•เดพเด‚, เด…เดตเดฐเต† เดจเต‹เด•เตเด•เต‚... เดธเดฎเดพเดจเดฎเดฒเตเดฒ!
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดจเดฎเตเด•เตเด•เต เด‡เดคเต เด—เตเดฐเดพเดซเตเด•เดณเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดตเต€เดฃเตเดŸเตเด‚ เดตเดฐเดฏเตเด•เตเด•เดพเด‚ - เด“, เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดŽเดจเตเดคเต‹ เดชเต‹เดฒเต† เดคเต‹เดจเตเดจเตเดจเตเดจเต!
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด’เดฐเต‡เดธเดฎเดฏเด‚ เด•เตเดŸเตเดŸเดฟเด•เดณเตเดณเตเดณ เดฌเดฟเดฏเตเด‚ เดธเดฟเดฏเตเด‚ เด‰เดณเตเดณ เดจเต‹เดกเตเด•เตพ เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต†เดจเตเดจ เด•เดพเดฐเตเดฏเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• - เดเดคเต เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดจเดฎเตเด•เตเด•เต เด…เดตเดฏเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เดจเต‹เดกเดฟเดจเตเดฑเต† เดšเดฟเดคเตเดฐเด‚ เดคเดฟเดฐเดฟเด•เตเด•เดพเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด’เดจเตเดจเตเด•เต‚เดŸเดฟ เดจเต‹เด•เตเด•เดพเด‚. เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพเด•เตเด•เต เด•เตเดŸเตเดŸเดฟเด•เตพ เดŽเดฏเตเด‚ เดœเต‹เดกเดฟเด•เดณเตเด‚ (เดฌเดฟ + เดธเดฟ) เด‰เดณเตเดณ เดจเต‹เดกเตเด•เตพ เด‰เดฃเตเดŸเต - เด…เดตเดฏเตเด•เตเด•เตเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด•เตŠเดณเตเดณเดพเด‚! เด‡เดคเต เดจเดฎเตเดฎเตพ เดฐเดฃเตเดŸเตเดชเต‡เดฐเดพเดฃเต†เดจเตเดจเต เดฎเดพเดฑเตเดจเตเดจเต JOIN เดชเตเดฒเดพเตป เดจเต‹เดกเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต.

เด…เดฏเตเดฏเต‹, เดˆ เดชเตเดฐเดถเตเดจเด‚ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ A JOIN B JOIN C, เด•เต‚เดŸเดพเดคเต† เดชเตเดฒเดพเดจเดฟเตฝ, เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, "เด”เดŸเตเดŸเตผ" เดจเต‹เดกเตเด•เตพ เดŽ, เดธเดฟ เดŽเดจเตเดจเดฟเดต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เด‡เดฒเตเดฒ, เดžเด™เตเด™เตพเด•เตเด•เต เดนเตˆเดฒเตˆเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เด’เดฐเต เดธเต‚เดšเดจเดฏเตเด‚ เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเดพเตป เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เดจเดฟเด™เตเด™เตพ เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ "เด•เต‹เดฎ" เดชเต‹เดฒเต† เดคเดจเตเดจเต† A, B.

เดชเด•เตเดทเต‡, เดฎเดฟเด•เตเด• เด•เต‡เดธเตเด•เดณเดฟเดฒเตเด‚, เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดจเต‹เดกเตเด•เดณเตเด‚ "เด•เต†เดŸเตเดŸเดดเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚" เด•เต‚เดŸเดพเดคเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฏเดฅเดพเดธเดฎเดฏเด‚ เด‡เดŸเดคเตเดตเดถเดคเตเดคเต เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเตŠเดซเตˆเดฒเดฟเด‚เด—เต เดฒเดญเดฟเด•เตเด•เตเด‚ - เด…เด•เตเดทเดฐเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด•เต‹เดกเต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ Google Chrome เดฒเต† เดชเต‹เดฒเต†. เด“เดฐเต‹ เดตเดฐเดฟเดฏเตเด‚ เด“เดฐเต‹ เดชเตเดฐเดธเตเดคเดพเดตเดจเดฏเตเด‚ "เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต" เดšเต†เดฏเตเดฏเดพเตป เดŽเดคเตเดฐ เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚.
PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด‰เดฃเตเดŸเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต เด†เตผเด•เตเด•เตˆเดตเต, เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเดพเดจเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเดพเดณเตเดฎเดพเดฏเดฟ เดฒเดฟเด™เตเด•เต เดชเด™เตเด•เดฟเดŸเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดŸเดคเตเดคเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เด’เดฐเต เดšเต‹เดฆเตเดฏเด‚ เดฎเดคเดฟเดฏเดพเดฏ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด•เตŠเดฃเตเดŸเตเดตเดฐเดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดžเด™เตเด™เดณเตเดŸเต† "เดจเต‹เตผเดฎเดฒเตˆเดธเตผ".

PostgreSQL เด•เตเดตเดฑเดฟ เดชเตเดฐเตŠเดซเตˆเดฒเตผ: เดชเตเดฒเดพเดจเตเด‚ เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•