PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชนเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชตเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• 2016เชจเชพ เช…เชนเซ‡เชตเชพเชฒเชจเซ€ เชŸเซเชฐเชพเช‚เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชตเชพเช‚เชšเซ‹ "PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœ เชฐเชธ เช•เชพเชขเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡"

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชถเซเชญ เชฌเชชเซ‹เชฐ เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต เช›เซ‡. เชนเซเช‚ NetCracker เชฎเชพเชŸเซ‡ 10 เชตเชฐเซเชทเชฅเซ€ เช•เชพเชฎ เช•เชฐเซเช‚ เช›เซเช‚. เช…เชจเซ‡ เชนเซเช‚ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เช‰เชคเซเชชเชพเชฆเช•เชคเชพเชฎเชพเช‚ เช›เซเช‚. เชœเชพเชตเชพ เชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ, SQL เชจเซ‡ เชฒเช—เชคเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชฎเชจเซ‡ เช—เชฎเซ‡ เช›เซ‡.

เช…เชจเซ‡ เช†เชœเซ‡ เชนเซเช‚ เชตเชพเชค เช•เชฐเซ€เชถ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ PostgreSQL เชจเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชฐเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ เชคเซเชฏเชพเชฐเซ‡ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เช…เชฎเชจเซ‡ เชถเซเช‚ เชฎเชณเซเชฏเซเช‚. เช…เชจเซ‡ เช…เชฎเซ‡ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชœเชพเชตเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€เช เช›เซ€เช. เชชเชฐเช‚เชคเซ เช†เชœเซ‡ เชนเซเช‚ เชคเชฎเชจเซ‡ เชœเซ‡ เช•เชนเซ‡เชตเชพ เชœเชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เชคเซ‡ เชฎเชพเชคเซเชฐ เชœเชพเชตเชพ เชตเชฟเชถเซ‡ เชจเชฅเซ€. เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เชคเซ‡เชฎ, เช† เช…เชจเซเชฏ เชญเชพเชทเชพเช“เชฎเชพเช‚ เชชเชฃ เชฅเชพเชฏ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช†เชชเชฃเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซ:

  • เชกเซ‡เชŸเชพ เชธเซ‡เชฎเซเชชเชฒเชฟเช‚เช— เชตเชฟเชถเซ‡.
  • เชกเซ‡เชŸเชพ เชฌเชšเชพเชตเชตเชพ เชตเชฟเชถเซ‡.
  • เช…เชจเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€ เชตเชฟเชถเซ‡ เชชเชฃ.
  • เช…เชจเซ‡ เชชเชพเชฃเซ€เชจเซ€ เช…เช‚เชฆเชฐเชจเชพ เชฐเซ‡เช•เซเชธ เชตเชฟเชถเซ‡ เชœเซ‡ เชคเซเชฏเชพเช‚ เชฆเชซเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เชเช• เชธเชฐเชณ เชชเซเชฐเชถเซเชจเชฅเซ€ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€เช. เช…เชฎเซ‡ เชชเซเชฐเชพเชฅเชฎเชฟเช• เช•เซ€เชจเชพ เช†เชงเชพเชฐเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เชเช• เชชเช‚เช•เซเชคเชฟ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชกเซ‡เชŸเชพเชฌเซ‡เช เช เชœ เชนเซ‹เชธเซเชŸ เชชเชฐ เชธเซเชฅเชฟเชค เช›เซ‡. เช…เชจเซ‡ เช† เชฌเชงเซ€ เช–เซ‡เชคเซ€ 20 เชฎเชฟเชฒเซ€เชธเซ‡เช•เชจเซเชก เชฒเซ‡ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช† 20 เชฎเชฟเชฒเซ€เชธเซ‡เช•เชจเซเชก เช˜เชฃเซ‹ เช›เซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซ€ 100 เชตเชฟเชจเช‚เชคเซ€เช“ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เช† เชตเชฟเชจเช‚เชคเซ€เช“ เชฆเซเชตเชพเชฐเชพ เชธเซเช•เซเชฐเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชก เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเซ‹ เช›เซ‹, เชเชŸเชฒเซ‡ เช•เซ‡ เช…เชฎเซ‡ เชธเชฎเชฏเชจเซ‹ เชฌเช—เชพเชก เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เช…เชฎเชจเซ‡ เช† เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เชจเชฅเซ€ เช…เชจเซ‡ เช†เชงเชพเชฐ เช…เชฎเชจเซ‡ เช† เชฎเชพเชŸเซ‡ เชถเซเช‚ เช‘เชซเชฐ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชœเซ‹เชตเซเช‚. เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เชฎเชจเซ‡ เชชเซเชฐเชถเซเชจเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชชเซเชฐเชฅเชฎ เชตเชฟเช•เชฒเซเชช เช เชเช• เชธเชฐเชณ เชตเชฟเชจเช‚เชคเซ€ เช›เซ‡. เชคเซ‡ เชตเชฟเชถเซ‡ เชถเซเช‚ เชธเชพเชฐเซเช‚ เช›เซ‡? เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชฒเชˆเช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฎเซ‹เช•เชฒเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชตเชงเซ เช•เช‚เชˆ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://github.com/pgjdbc/pgjdbc/pull/478

เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช…เชฆเซเชฏเชคเชจ เช•เซเชตเซ‡เชฐเซ€ เชชเชฃ เช›เซ‡, เชœเซ‡ เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเชงเซ เช•เชพเชฐเซเชฏเชพเชคเซเชฎเช• เช›เซ‡. เชคเชฎเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช—, เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ, เชตเซ‡เชฐเซ€เชเชฌเชฒ เชฌเชพเชˆเชจเซเชกเชฟเช‚เช— เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡ เช…เชฒเช—เชฅเซ€ เชตเชฟเชจเช‚เชคเซ€ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเซเชชเชฐ เชตเชฟเชธเซเชคเซƒเชค เช•เซเชตเซ‡เชฐเซ€ เชเชตเซ€ เชตเชธเซเชคเซ เช›เซ‡ เชœเซ‡เชจเซ‡ เช…เชฎเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชฐเชฟเชชเซ‹เชฐเซเชŸเชฎเชพเช‚ เช†เชตเชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚. เช†เชชเชฃเซ‡, เช•เชฆเชพเชš, เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เช•เช‚เชˆเช• เชœเซ‹เชˆเช เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชเช• เชตเชฟเชถ เชฒเชฟเชธเซเชŸ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆเชจเซ‡ เช•เซ‹เชˆ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เช† เชคเซ‡ เช›เซ‡ เชœเซ‡ เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชนเชตเซ‡ เช…เชจเซ‡ เช†เช—เชพเชฎเซ€ เชตเชฐเซเชทเชฎเชพเช‚ เช…เชถเช•เซเชฏ เช›เซ‡. เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชนเชฎเชฃเชพเช‚ เชœ เชคเซ‡เชจเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เชฒเซ‹เช•เซ‹เชจเซ‡ เชนเชฒเชพเชตเซ€เชจเซ‡ เช†เชธเชชเชพเชธ เชœเชˆเชถเซเช‚.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชถเซเช‚ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เชคเซ‡ เชธเชฐเชณ เช•เซเชตเซ‡เชฐเซ€ เช…เชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เซเชตเซ‡เชฐเซ€ เช›เซ‡.

เชฆเชฐเซ‡เช• เช…เชญเชฟเช—เชฎเชฎเชพเช‚ เชตเชฟเชถเซ‡เชท เชถเซเช‚ เช›เซ‡?

เชเช• เชธเชฐเชณ เช•เซเชตเซ‡เชฐเซ€ เชเช• เชตเช–เชคเชจเชพ เช…เชฎเชฒ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซ€ เช›เซ‡. เชเช•เชตเชพเชฐ เชฅเชˆ เช—เชฏเซเช‚ เช…เชจเซ‡ เชญเซ‚เชฒเซ€ เช—เชฏเชพ. เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพ เช เช›เซ‡ เช•เซ‡ เชคเซ‡ เชฌเชพเชˆเชจเชฐเซ€ เชกเซ‡เชŸเชพ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชเชŸเชฒเซ‡ เช•เซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชตเชฟเชธเซเชคเซƒเชค เช•เซเชตเซ‡เชฐเซ€ - เชคเชฎเชจเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช— เชชเชฐ เชธเชฎเชฏ เชฌเชšเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เช† เช…เชฎเซ‡ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เช† เช–เชฐเซ‡เช–เชฐ, เช–เชฐเซ‡เช–เชฐ เช…เชฎเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ€. เชชเชพเชฐเซเชธเชฟเช‚เช— เชชเชฐ เชฎเชพเชคเซเชฐ เชฌเชšเชค เชจเชฅเซ€. เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชชเชฐ เชฌเชšเชค เช›เซ‡. เชฌเชพเชˆเชจเชฐเซ€ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชจเซเช‚ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช. เช† เชเช• เชฒเชพเช•เซเชทเชฃเชฟเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เชคเซ‡ เชœเชพเชตเชพ เชตเช—เซ‡เชฐเซ‡ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เช…เชฎเซ‡ เชจเชฟเชตเซ‡เชฆเชจ เชฌเชจเชพเชตเซเชฏเซเช‚. เช†เชฆเซ‡เชถเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซเชฏเซ‹. เชจเชœเซ€เช• เชฌเชจเชพเชตเซเชฏเซเช‚. เช…เชนเซ€เช‚ เชญเซ‚เชฒ เช•เซเชฏเชพเช‚ เช›เซ‡? เชถเซเช‚ เชธเชฎเชธเซเชฏเชพ เช›เซ‡? เช•เซ‹เช‡ เชตเชพเช‚เชงเซ‹ เชจเชนเซ€. เช† เชฌเชงเชพ เชชเซเชธเซเชคเช•เซ‹เชฎเชพเช‚ เชคเซ‡ เช•เชนเซ‡ เช›เซ‡. เช† เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚ เชœเซ‹เชˆเช. เชœเซ‹ เชคเชฎเซ‡ เชฎเชนเชคเซเชคเชฎ เชชเซเชฐเชฆเชฐเซเชถเชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เชคเซ‹ เช† เชฐเซ€เชคเซ‡ เชฒเช–เซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชชเชฐเช‚เชคเซ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช† เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชถเชพ เชฎเชพเชŸเซ‡? เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ "เชฌเช‚เชง" เชชเชฆเซเชงเชคเชฟ เช›เซ‡. เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช† เช•เชฐเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเชพ เชงเซ‚เชฎเซเชฐเชชเชพเชจ เชœเซ‡เชตเซเช‚ เช›เซ‡. เช…เชฎเซ‡ เช•เชนเซเชฏเซเช‚ "เชชเชพเชฐเซเชธ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชกเชฟเชฒเชฒเซ‹เช•เซ‡เชŸ".

เชถเชพ เชฎเชพเชŸเซ‡ เช† เชฌเชงเซ€ เชตเชงเชพเชฐเชพเชจเซ€ เชฐเชšเชจเชพ เช…เชจเซ‡ เชจเชฟเชตเซ‡เชฆเชจเซ‹ เช…เชจเชฒเซ‹เชกเชฟเช‚เช—? เช•เซ‹เชˆเชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ PreparedStatements เชฎเชพเช‚ เชœเซ‡ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เช เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เชฌเช‚เชง เช•เชฐเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เช“ เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเชฐเชจเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชฌเช‚เชง เช•เชฐเซ€เช เช›เซ€เช. เช† เช†เชชเชฃเซ‡ เช‡เชšเซเช›เชคเชพ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชฎเซ‡ เชคเช‚เชฆเซเชฐเชธเซเชค เชฒเซ‹เช•เซ‹เชจเซ€ เชœเซ‡เชฎ, เช†เชงเชพเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. เช…เชฎเซ‡ เช…เชฎเชพเชฐเซเช‚ เชจเชฟเชตเซ‡เชฆเชจ เชเช•เชตเชพเชฐ เชฒเซ€เชงเซเช‚ เช…เชจเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเซเชฏเซเช‚, เชชเช›เซ€ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช˜เชฃเซ€ เชตเช–เชค เชšเชฒเชพเชตเซ€เช เช›เซ€เช. เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช˜เชฃเซ€ เชตเช–เชค - เช† เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชจเชพ เชธเชฎเช—เซเชฐ เชœเซ€เชตเชจเชฎเชพเช‚ เชเช• เชœ เชตเชพเชฐ เช›เซ‡ - เชคเซ‡เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เช…เชจเซ‡ เช…เชฎเซ‡ เชตเชฟเชตเชฟเชง RESTs เชชเชฐ เชธเชฎเชพเชจ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เช†เชˆเชกเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เช† เช…เชฎเชพเชฐเซเช‚ เชฒเช•เซเชทเซเชฏ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช†เชชเชฃเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเชพเช‚เชธเชฒ เช•เชฐเซ€ เชถเช•เซ€เช?

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชคเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡ - เชจเชฟเชตเซ‡เชฆเชจเซ‹ เชฌเช‚เชง เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช† เชฐเซ€เชคเซ‡ เชฒเช–เซ€เช เช›เซ€เช: "เชคเซˆเชฏเชพเชฐ เช•เชฐเซ‹" "เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ‹".

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชœเซ‹ เช†เชชเชฃเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เชฒเซ‹เชจเซเชš เช•เชฐเซ€เช เช›เซ€เช, เชคเซ‹ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เช•เช‚เชˆเช• เช•เซเชฏเชพเช‚เช• เช“เชตเชฐเชซเซเชฒเซ‹ เชฅเชถเซ‡. เชœเซ‹ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช…เชœเชฎเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชšเชพเชฒเซ‹ เชเช• เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชฒเช–เซ€เช เชœเซ‡ เช† เชธเชฐเชณ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชจเชฟเชตเซ‡เชฆเชจ เชฌเชจเชพเชตเซ‹. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเชจเชพ เช…เชฎเซเช• เชตเชฐเซเชเชจ เชชเชฐ เชฒเซ‰เชจเซเชš เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชถเซ‹เชงเซ€ เช•เชพเชขเซ€เช เช›เซ€เช เช•เซ‡ เชคเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชฐเชนเซ‡เชฒเซ€ เชฌเชงเซ€ เชฎเซ‡เชฎเชฐเซ€ เช—เซเชฎเชพเชตเชตเชพ เชธเชพเชฅเซ‡ เช–เซ‚เชฌ เชœ เชเชกเชชเชฅเซ€ เช•เซเชฐเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เช†เชตเซ€ เชญเซ‚เชฒเซ‹ เชธเชฐเชณเชคเชพเชฅเซ€ เชธเซเชงเชพเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชนเซเช‚ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เชจเชนเซ€เช‚ เช•เชฐเซเช‚. เชชเชฐเช‚เชคเซ เชนเซเช‚ เช•เชนเซ€เชถ เช•เซ‡ เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เช–เซ‚เชฌ เชเชกเชชเชฅเซ€ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชชเชฆเซเชงเชคเชฟ เชฎเซ‚เชฐเซเช– เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเชœเซ เชชเชฃ.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚? เช† เชฎเชพเชŸเซ‡ เช†เชชเชฃเซ‡ เชถเซเช‚ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡?

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชนเช‚เชฎเซ‡เชถเชพ เชจเชฟเชตเซ‡เชฆเชจเซ‹ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡. เชฌเชงเชพ เชชเซเชธเซเชคเช•เซ‹เชฎเชพเช‚ เชคเซ‡เช“ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชจเซ‡ เชฌเช‚เชง เช•เชฐเซ‹, เชจเชนเซ€เช‚ เชคเซ‹ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เชฅเชˆ เชœเชถเซ‡.

เช…เชจเซ‡ PostgreSQL เช•เซเชตเซ‡เชฐเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เซ‡เชถ เช•เชฐเชตเซ€ เชคเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€. เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เช•เซ‡ เชฆเชฐเซ‡เช• เชธเชคเซเชฐ เชชเซ‹เชคเชพเชจเชพ เชฎเชพเชŸเซ‡ เช† เช•เซ‡เชถ เชฌเชจเชพเชตเซ‡.

เช…เชจเซ‡ เช…เชฎเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช— เชชเชฐ เชชเชฃ เชธเชฎเชฏ เชฌเช—เชพเชกเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชจเซ‡ เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡.

เชชเชนเซ‡เชฒเซ‹ เชตเชฟเช•เชฒเซเชช เช เช›เซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เชฒเชˆเช เช…เชจเซ‡ เช•เชนเซ€เช เช•เซ‡ เชšเชพเชฒเซ‹ เชฌเชงเซเช‚ PgSQL เชฎเชพเช‚ เชฒเชชเซ‡เชŸเซ€เช. เชคเซเชฏเชพเช‚ เชเช• เช•เชณเชถ เช›เซ‡. เชคเซ‡ เชฌเชงเซเช‚ เชœ เช•เซ‡เชถ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เชฎเชนเชพเชจ เชฌเชนเชพเชฐ เชšเชพเชฒเซ เช•เชฐเชถเซ‡. เช…เชฎเซ‡ เช† เชœเซ‹เชฏเซเช‚. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 100500 เชตเชฟเชจเช‚เชคเซ€เช“ เช›เซ‡. เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช…เชฎเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชฎเชพเช‚ เชซเซ‡เชฐเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เชฎเชค เชฅเชคเชพ เชจเชฅเซ€. เชจเชพ เชจเชพ.

เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡ - เชคเซ‡เชจเซ‡ เชฒเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชœเชพเชคเซ‡ เช•เชพเชชเซ€ เชจเชพเช–เซ‹. เช…เชฎเซ‡ เชธเซเชคเซเชฐเซ‹เชคเซ‹ เช–เซ‹เชฒเซ€เช เช›เซ€เช เช…เชจเซ‡ เช•เชพเชชเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเซ‡ เชœเซ‹เชฏเซเช‚ เช…เชจเซ‡ เชœเซ‹เชฏเซเช‚. เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชคเซ‡ เช•เชฐเชตเซเช‚ เชเชŸเชฒเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://github.com/pgjdbc/pgjdbc/pull/319

เช† เช“เช—เชธเซเชŸ 2015 เชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏเซเช‚ เชนเชคเซเช‚. เชนเชตเซ‡ เชตเชงเซ เช†เชงเซเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ เช›เซ‡. เช…เชจเซ‡ เชฌเชงเซเช‚ เชฎเชนเชพเชจ เช›เซ‡. เชคเซ‡ เชเชŸเชฒเซเช‚ เชธเชพเชฐเซเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เช•เช‚เชˆเชชเชฃ เชฌเชฆเชฒเชคเชพ เชจเชฅเซ€. เช…เชจเซ‡ เช…เชฎเซ‡ PgSQL เชจเซ€ เชฆเชฟเชถเชพเชฎเชพเช‚ เชตเชฟเชšเชพเชฐเชตเชพเชจเซเช‚ เชชเชฃ เชฌเช‚เชง เช•เชฐเซ€ เชฆเซ€เชงเซเช‚ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เช† เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฎ เช“เชตเชฐเชนเซ‡เชก เช–เชฐเซเชšเชจเซ‡ เชฒเช—เชญเช— เชถเซ‚เชจเซเชฏ เชธเซเชงเซ€ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเชคเซเช‚.

เชคเชฆเชจเซเชธเชพเชฐ, เชฆเชฐเซ‡เช• เชเช• เชตเช–เชคเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เชชเชฐ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เชฌเช—เชพเชก เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเซเชตเชฐ-เชคเซˆเชฏเชพเชฐ เชจเชฟเชตเซ‡เชฆเชจเซ‹ 5เชฎเซ€ เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจ เชชเชฐ เชธเช•เซเชฐเชฟเชฏ เชฅเชพเชฏ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชคเชฎเซ‡ เชชเซ‚เช›เซ€ เชถเช•เซ‹ เช›เซ‹ - เชจเช‚เชฌเชฐเซ‹ เช•เซเชฏเชพเช‚ เช›เซ‡? เชคเชฎเซ‡ เชถเซเช‚ เชฎเซ‡เชณเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹? เช…เชจเซ‡ เช…เชนเซ€เช‚ เชนเซเช‚ เชจเช‚เชฌเชฐเซ‹ เช†เชชเซ€เชถ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชฆเชฐเซ‡เช• เชตเชฟเชจเช‚เชคเซ€เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชนเซ‹เชฏ เช›เซ‡.

เช…เชฎเชพเชฐเซ€ เช•เซเชตเซ‡เชฐเซ€เช เชเชตเซ€ เชนเชคเซ€ เช•เซ‡ เช…เชฎเซ‡ OLTP เช•เซเชตเซ‡เชฐเซ€เช เชชเชฐ เชชเชพเชฐเซเชธเชฟเช‚เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเช—เชญเช— 20 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเชจเซ‹ เช–เชฐเซเชš เช•เชฐเซเชฏเซ‹. เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชฎเชพเชŸเซ‡ 0,5 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเซเชธ, เชชเชพเชฐเซเชธเชฟเช‚เช— เชฎเชพเชŸเซ‡ 20 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเซเชธ เชนเชคเชพ. เชตเชฟเชจเช‚เชคเซ€ โ€“ 10 KiB เชŸเซ‡เช•เซเชธเซเชŸ, 170 เชฒเชพเช‡เชจเชจเซ€ เชฏเซ‹เชœเชจเชพ. เช† เชเช• OLTP เชตเชฟเชจเช‚เชคเซ€ เช›เซ‡. เชคเซ‡ 1, 5, 10 เชฒเชพเช‡เชจเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡, เช•เซเชฏเชพเชฐเซ‡เช• เชตเชงเซ.

เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ 20 เชฎเชฟเชฒเซ€เชธเซ‡เช•เช‚เชก เชฌเช—เชพเชกเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจ เชนเชคเชพ. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช˜เชŸเชพเชกเซ€เชจเซ‡ 0 เช•เชฐเซเชฏเซ‹. เชฌเชงเซเช‚ เชœ เชธเชฐเชธ เช›เซ‡.

เชคเชฎเซ‡ เช…เชนเซ€เช‚เชฅเซ€ เชถเซเช‚ เชฒเชˆ เชœเชˆ เชถเช•เซ‹? เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชœเชพเชตเชพ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเชจเซเช‚ เช†เชงเซเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ เชฒเซ‹ เช…เชจเซ‡ เช†เชจเช‚เชฆ เช•เชฐเซ‹.

เชœเซ‹ เชคเชฎเซ‡ เช•เซ‹เชˆ เช…เชฒเช— เชญเชพเชทเชพ เชฌเซ‹เชฒเซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ เชตเชฟเชšเชพเชฐเซ‹ - เช•เชฆเชพเชš เชคเชฎเชจเซ‡ เชชเชฃ เช†เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡? เช•เชพเชฐเชฃ เช•เซ‡ เช…เช‚เชคเชฟเชฎ เชญเชพเชทเชพเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ PL 8 เช…เชฅเชตเชพ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ LibPQ เช›เซ‡, เชคเซ‹ เชคเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซเชชเชทเซเชŸ เชจเชฅเซ€ เช•เซ‡ เชคเชฎเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชจเชนเซ€เช‚, เชชเชฆเชšเซเช›เซ‡เชฆเชจ เชชเชฐ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹, เช…เชจเซ‡ เช† เชคเชชเชพเชธเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡? เชฌเชงเซเช‚ เชฎเชซเชค เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชธเชฟเชตเชพเชฏ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เชญเซ‚เชฒเซ‹ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เช–เชพเชธเชฟเชฏเชคเซ‹ เช›เซ‡. เช…เชจเซ‡ เช…เชฎเซ‡ เชนเชฎเชฃเชพเช‚ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚. เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช”เชฆเซเชฏเซ‹เช—เชฟเช• เชชเซเชฐเชพเชคเชคเซเชต เชตเชฟเชถเซ‡ เชนเชถเซ‡, เช…เชฎเชจเซ‡ เชถเซเช‚ เชฎเชณเซเชฏเซเช‚ เช›เซ‡, เช…เชฎเซ‡ เชถเซเช‚ เชœเซ‹เชฏเซเช‚ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชœเซ‹ เชตเชฟเชจเช‚เชคเซ€ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชœเชจเชฐเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชฅเชพเชฏ เช›เซ‡. เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟ เชคเชพเชฐเซ‹เชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เช—เซเช‚เชฆเชฐ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเชฟเชฃเชพเชฎเซ‡ SQL เช•เซเชตเซ‡เชฐเซ€ เชฅเชพเชฏ เช›เซ‡.

เชคเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช–เชฐเชพเชฌ เช›เซ‡? เชคเซ‡ เช–เชฐเชพเชฌ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฆเชฐเซ‡เช• เชตเช–เชคเซ‡ เช†เชชเชฃเซ‡ เชเช• เช…เชฒเช— เชถเชฌเซเชฆเชฎเชพเชณเชพ เชธเชพเชฅเซ‡ เช…เช‚เชค เช•เชฐเซ€เช เช›เซ€เช.

เช…เชจเซ‡ เช† เช…เชฒเช—-เช…เชฒเช— เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเชพ เชนเซ‡เชถเช•เซ‹เชกเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช–เชฐเซ‡เช–เชฐ เชเช• CPU เช•เชพเชฐเซเชฏ เช›เซ‡ - เชนเชพเชฒเชจเซ€ เชนเซ‡เชถเชฎเชพเช‚ เชชเชฃ เชฒเชพเช‚เชฌเซ€ เชตเชฟเชจเช‚เชคเซ€ เชฒเช–เชพเชฃ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชเชŸเชฒเซเช‚ เชธเชฐเชณ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชจเชฟเชทเซเช•เชฐเซเชท เชธเชฐเชณ เช›เซ‡ - เชตเชฟเชจเช‚เชคเซ€เช“ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚. เชคเซ‡เชฎเชจเซ‡ เชเช• เชšเชฒเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‹. เช…เชจเซ‡ เช†เชจเช‚เชฆ เช•เชฐเซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช†เช—เชพเชฎเซ€ เชธเชฎเชธเซเชฏเชพ. เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เชเชตเชพ ORMs เช›เซ‡ เชœเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เช•เชฏเชพ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ NULL เช›เซ‡ เชคเซ‡เชจเชพเชฅเซ€ เช•เซ‹เชˆ เชซเชฐเช• เชชเชกเชคเซ‹ เชจเชฅเซ€, เช•เซ‹เชˆ เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชฐเชนเซ‡เชตเชพ เชฆเซ‹. เชœเซ‹ Int, เชคเซ‹ เช…เชฎเซ‡ setInt เช•เชนเซ€เช เช›เซ€เช. เช…เชจเซ‡ เชœเซ‹ NULL, เชคเซ‹ เชคเซ‡เชจเซ‡ เชนเช‚เชฎเซ‡เชถเชพ VARCHAR เชฐเชนเซ‡เชตเชพ เชฆเซ‹. เช…เชจเซ‡ เช…เช‚เชคเซ‡ NULL เชถเซเช‚ เช›เซ‡ เชคเซ‡เชจเชพเชฅเซ€ เชถเซเช‚ เชซเชฐเช• เชชเชกเซ‡ เช›เซ‡? เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเซ‹เชคเซ‡ เชœ เชฌเชงเซเช‚ เชธเชฎเชœเซ€ เชœเชถเซ‡. เช…เชจเซ‡ เช† เชšเชฟเชคเซเชฐ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€.

เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชชเชฐเชตเชพ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเซ€ เชตเชพเชฐ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เช† เชจเช‚เชฌเชฐ เช›เซ‡, เช…เชจเซ‡ เชฌเซ€เชœเซ€ เชตเชพเชฐ เชคเชฎเซ‡ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เชคเซ‡ VARCHAR เช›เซ‡, เชคเซ‹ เชธเชฐเซเชตเชฐ-เชคเซˆเชฏเชพเชฐ เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸเชจเซ‹ เชซเชฐเซ€เชฅเซ€ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช…เชถเช•เซเชฏ เช›เซ‡. เช…เชจเซ‡ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช†เชชเชฃเซ‡ เช…เชฎเชพเชฐเซเช‚ เชจเชฟเชตเซ‡เชฆเชจ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเชตเซเช‚ เชชเชกเชถเซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชœเซ‹ เชคเชฎเซ‡ เชธเชฎเชพเชจ เช•เซเชตเซ‡เชฐเซ€ เชšเชฒเชพเชตเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹, เชคเซ‹ เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เช•เซ‰เชฒเชฎเชฎเชพเช‚เชจเชพ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเซ‚เช‚เชเชตเชฃเชฎเชพเช‚ เชจเชฅเซ€. เชคเชฎเชพเชฐเซ‡ NULL เชฎเชพเชŸเซ‡ เชงเซเชฏเชพเชจ เชฐเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฎเซ‡ PreparedStatements เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช† เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชญเซ‚เชฒ เช›เซ‡

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช“เช•เซ‡, เชšเชพเชฒเซ เช•เชฐเซเชฏเซเช‚. เช•เชฆเชพเชš เชคเซ‡เช“ เชกเซเชฐเชพเชˆเชตเชฐเชจเซ‡ เชฒเชˆ เช—เชฏเชพ. เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเช•เชคเชพ เช˜เชŸเซ€. เชตเชธเซเชคเซเช“ เช–เชฐเชพเชฌ เชฅเชˆ เช—เชˆ.

เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฅเชพเชฏ เช›เซ‡? เชถเซเช‚ เช† เชฌเช— เช›เซ‡ เช•เซ‡ เชซเซ€เชšเชฐ? เช•เชฎเชจเชธเซ€เชฌเซ‡, เชคเซ‡ เชธเชฎเชœเชตเซเช‚ เชถเช•เซเชฏ เชจเชนเซ‹เชคเซเช‚ เช•เซ‡ เช† เชฌเช— เช›เซ‡ เช•เซ‡ เชซเซ€เชšเชฐ. เชชเชฐเช‚เชคเซ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช–เซ‚เชฌ เชœ เชธเชฐเชณ เชฆเซƒเชถเซเชฏ เช›เซ‡. เชคเซ‡เชฃเซ€เช เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฃเชงเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชพเชฐเชพ เชชเชฐ เชนเซเชฎเชฒเซ‹ เช•เชฐเซเชฏเซ‹. เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชถเชพเชฌเซเชฆเชฟเช• เชฐเซ€เชคเซ‡ เชเช• เชŸเซ‡เชฌเชฒเชฎเชพเช‚เชฅเซ€ เชจเชฎเซ‚เชจเชพ เชฒเซ‡เชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡, เช…เชฒเชฌเชคเซเชค, เช†เชตเซ€ เชตเชงเซ เชตเชฟเชจเช‚เชคเซ€เช“ เชนเชคเซ€. เชเช• เชจเชฟเชฏเชฎ เชคเชฐเซ€เช•เซ‡, เชคเซ‡เชฎเชพเช‚ เชฌเซ‡ เช…เชฅเชตเชพ เชคเซเชฐเชฃ เช•เซ‹เชทเซเชŸเช•เซ‹ เชถเชพเชฎเซ‡เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เช†เชตเชพ เชชเซเชฒเซ‡เชฌเซ‡เช• เชฆเซƒเชถเซเชฏ เช›เซ‡. เชคเชฎเชพเชฐเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ เชธเช‚เชธเซเช•เชฐเชฃ เชฒเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชšเชฒเชพเชตเซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://gist.github.com/vlsi/df08cbef370b2e86a5c1

เชฎเซเชฆเซเชฆเซ‹ เช เช›เซ‡ เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ‡ เช•เซ‰เชฒเชฎ เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช• เช…เชจเซเช•เซเชฐเชฎเชฟเชค เช›เซ‡. เชเช• NULL เช•เซ‰เชฒเชฎเชฎเชพเช‚ เชฆเชธ เชฒเชพเช– เชชเช‚เช•เซเชคเชฟเช“ เช›เซ‡. เช…เชจเซ‡ เชฌเซ€เชœเซ€ เช•เซ‹เชฒเชฎเชฎเชพเช‚ เชฎเชพเชคเซเชฐ 20 เชฒเซ€เชŸเซ€เช“ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชฌเชพเช‰เชจเซเชก เชตเซ‡เชฐเซ€เชเชฌเชฒ เชตเช—เชฐ เชเช•เซเชเซ€เช•เซเชฏเซเชŸ เช•เชฐเซ€เช เช›เซ€เช, เชคเซเชฏเชพเชฐเซ‡ เชฌเชงเซเช‚ เชœ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡.

เชœเซ‹ เช†เชชเชฃเซ‡ เชฌเชพเช‰เชจเซเชก เชตเซ‡เชฐเซ€เชเชฌเชฒ เชธเชพเชฅเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช, เชเชŸเชฒเซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ "?" เช…เชฅเชตเชพ เช…เชฎเชพเชฐเซ€ เชตเชฟเชจเช‚เชคเชฟ เชฎเชพเชŸเซ‡ "$1", เช…เชฎเซ‡ เชถเซเช‚ เชฎเซ‡เชณเชตเซ€เชถเซเช‚?

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://gist.github.com/vlsi/df08cbef370b2e86a5c1

เชชเซเชฐเชฅเชฎ เช…เชฎเชฒ เช…เชชเซ‡เช•เซเชทเชพ เชฎเซเชœเชฌ เช›เซ‡. เชฌเซ€เชœเซ‹ เชฅเซ‹เชกเซ‹ เชเชกเชชเซ€ เช›เซ‡. เช•เช‚เชˆเช• เช•เซ‡เชถ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชคเซเชฐเซ€เชœเซ‹, เชšเซ‹เชฅเซ‹, เชชเชพเช‚เชšเชฎเซ‹. เชชเช›เซ€ เชฌเซ‡เช‚เช— - เช…เชจเซ‡ เชคเซ‡ เช•เช‚เชˆเช•. เช…เชจเซ‡ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชฌเชพเชฌเชค เช เช›เซ‡ เช•เซ‡ เช† เช›เช เซเช เชพ เชซเชพเช‚เชธเซ€ เชชเชฐ เชฅเชพเชฏ เช›เซ‡. เช•เซ‹เชฃ เชœเชพเชฃเชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เช…เชฎเชฒเชจเซ€ เชตเชพเชธเซเชคเชตเชฟเช• เชฏเซ‹เชœเชจเชพ เชถเซเช‚ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชฐเชพเชฌเชฐ เช› เชซเชพเช‚เชธเซ€ เช•เชฐเชตเซ€ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡?

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชฆเซ‹เชทเชฟเชค เช•เซ‹เชฃ? เชถเซเช‚ เชฅเชฏเซเช‚? เชกเซ‡เชŸเชพเชฌเซ‡เช เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเชฎเชพเชตเซ‡ เช›เซ‡. เช…เชจเซ‡ เชคเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‡เชธ เชฎเชพเชŸเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เชฅเชฏเซ‡เชฒเซเช‚ เชœเชฃเชพเชฏ เช›เซ‡. เช…เชจเซ‡, เชคเซ‡ เชฎเซเชœเชฌ, เช…เชฎเซเช• เชธเชฎเชฏเซ‡ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เชคเซ‡เชฃเซ€ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชฏเซ‹เชœเชจเชพ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡, เช•เชฎเชจเชธเซ€เชฌเซ‡, เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡ เชธเชฎเชพเชจ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชฅเชตเชพ เชคเซ‡ เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชฅเซเชฐเซ‡เชถเซ‹เชฒเซเชก เชฎเซ‚เชฒเซเชฏ เช›เซ‡ เชœเซ‡ เช† เชตเชฐเซเชคเชจ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡.

เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชถเซเช‚ เช•เชฐเซ€ เชถเช•เซ‹? เช…เชนเซ€เช‚, เช…เชฒเชฌเชคเซเชค, เช•เช‚เชˆเชชเชฃ เชงเชพเชฐเชตเซเช‚ เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชเช• เชธเชฐเชณ เช‰เชชเชพเชฏ เช›เซ‡ เชœเซ‡เชจเซ‹ เช†เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เช† +0 เช›เซ‡, เช‘เชซเชธเซ‡เชŸ 0. เชšเซ‹เช•เซเช•เชธ เชคเชฎเซ‡ เช†เชตเชพ เช‰เช•เซ‡เชฒเซ‹ เชœเชพเชฃเซ‹ เช›เซ‹. เช…เชฎเซ‡ เชซเช•เซเชค เชคเซ‡เชจเซ‡ เชฒเชˆเช เช›เซ€เช เช…เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ "+0" เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช›เซ‡. เชนเซเช‚ เชคเชฎเชจเซ‡ เชชเช›เซ€ เชฌเชคเชพเชตเซ€เชถ.

เช…เชจเซ‡ เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡ - เชฏเซ‹เชœเชจเชพเช“เชจเซ‡ เชตเชงเซ เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชœเซเช“. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช เชฎเชพเชคเซเชฐ เชตเชฟเชจเช‚เชคเซ€ เชฒเช–เชตเซ€ เชœ เชœเซ‹เชˆเช เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ 6 เชตเช–เชค "เชเช•เซเชชเซเชฒเซ‡เชจ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ" เชชเชฃ เช•เชนเซ‡เชตเซเช‚ เชœเซ‹เชˆเช. เชœเซ‹ เชคเซ‡ 5 เช›เซ‡, เชคเซ‹ เชคเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚.

เช…เชจเซ‡ เชคเซเชฐเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡ - pgsql-hackers เชจเซ‡ เชชเชคเซเชฐ เชฒเช–เซ‹. เชฎเซ‡เช‚ เชฒเช–เซเชฏเซเช‚, เชœเซ‹ เช•เซ‡, เชคเซ‡ เชนเชœเซ€ เชธเซเชชเชทเซเชŸ เชจเชฅเซ€ เช•เซ‡ เช† เชฌเช— เช›เซ‡ เช•เซ‡ เชซเซ€เชšเชฐ.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://gist.github.com/vlsi/df08cbef370b2e86a5c1

เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เช•เซ‡ เช† เชฌเช— เช›เซ‡ เช•เซ‡ เชซเซ€เชšเชฐ, เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เช เซ€เช• เช•เชฐเซ€เช. เชšเชพเชฒเซ‹ เช…เชฎเชพเชฐเซ€ เชตเชฟเชจเช‚เชคเซ€ เชฒเชˆเช เช…เชจเซ‡ "+0" เช‰เชฎเซ‡เชฐเซ€เช. เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช›เซ‡. เชฌเซ‡ เชชเซเชฐเชคเซ€เช•เซ‹ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชคเซ‡ เชถเซเช‚ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเชพเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช–เซ‚เชฌ เชœ เชธเชฐเชณ. เช…เชฎเซ‡ เชซเช•เซเชค เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เช† เช•เซ‰เชฒเชฎ เชชเชฐ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ โ€œ+0โ€ เช•เซ‰เชฒเชฎ เชชเชฐ เช‡เชจเซเชกเซ‡เช•เซเชธ เชจเชฅเซ€ เช…เชจเซ‡ เชฌเชธ, เชกเซ‡เชŸเชพเชฌเซ‡เช เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช† 6 เชจเซ‹ เชจเชฟเชฏเชฎ เช›เซ‡ เชธเชฎเชœเชพเชตเซ‹. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเชพเช‰เชจเซเชก เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒ เชนเซ‹เชฏ เชคเซ‹ เชนเชตเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ 6 เชตเช–เชค เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเชพเช‰เชจเซเชก เชšเชฒเซ‹ เชจเชฅเซ€, เชคเซ‹ เช† เช…เชฎเซ‡ เช•เชฐเซ€เช เช›เซ€เช. เช…เชจเซ‡ เช…เช‚เชคเซ‡ เชคเซ‡ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เช† เชตเชฟเชจเช‚เชคเซ€ เช›เซ‡ เชœเซ‡ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช›เซ‡. เชคเซ‡ เช•เซ‹เชˆ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชพเชฌเชค เชจเชฅเซ€.

เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡, เช•เซ‡เชŸเชฒเซเช‚ เชถเช•เซเชฏ เช›เซ‡? เช…เชนเซ€เช‚ เชเช• เชญเซ‚เชฒ, เชคเซเชฏเชพเช‚ เชเช• เชญเซ‚เชฒ. เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชฌเช— เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เชจเชœเซ€เช•เชฅเซ€ เชจเชœเชฐ เช•เชฐเซ€เช. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ‡ เชธเซเช•เซ€เชฎเชพ เช›เซ‡. เช•เซ‹เชทเซเชŸเช• S เชธเชพเชฅเซ‡ เชฏเซ‹เชœเชจเชพ A เช…เชจเซ‡ เช•เซ‹เชทเซเชŸเช• S เชธเชพเชฅเซ‡ เชฐเซ‡เช–เชพเช•เซƒเชคเชฟ B. เช•เซเชตเซ‡เชฐเซ€ - เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชถเซเช‚ เชนเชถเซ‡? เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชญเซ‚เชฒ เชนเชถเซ‡. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เชนเชถเซ‡. เชจเชฟเชฏเชฎ เช›เซ‡ - เชฌเช— เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เช›เซ‡, เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เชนเชถเซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชนเชตเซ‡ เชชเซเชฐเชถเซเชจ เช เช›เซ‡: "เชถเชพ เชฎเชพเชŸเซ‡?" เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซเชฏเชพเช‚ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เช›เซ‡ เช•เซ‡ เชœเซ‹ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเซเช•เซ€เชฎเชพ เชนเซ‹เชฏ, เชคเซ‹ เชคเซเชฏเชพเช‚ เชเช• "เชธเชฐเซเชš_เชชเชพเชฅ" เชšเชฒ เช›เซ‡ เชœเซ‡ เช…เชฎเชจเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชŸเซ‡เชฌเชฒ เช•เซเชฏเชพเช‚ เชถเซ‹เชงเชตเซเช‚. เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซเชฏเชพเช‚ เชเช• เชšเชฒ เช›เซ‡.

เชถเซเช‚ เชธเชฎเชธเซเชฏเชพ เช›เซ‡? เชธเชฎเชธเซเชฏเชพ เช เช›เซ‡ เช•เซ‡ เชธเชฐเซเชตเชฐ-เชคเซˆเชฏเชพเชฐ เชจเชฟเชตเซ‡เชฆเชจเซ‹ เชถเช‚เช•เชพ เชจเชฅเซ€ เช•เชฐเชคเชพ เช•เซ‡ เชถเซ‹เชง_เชชเชฅ เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟ เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช† เชฎเซ‚เชฒเซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเชพเชŸเซ‡ เชธเซเชฅเชฟเชฐ เชฐเชนเซ‡ เช›เซ‡. เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชญเชพเช—เซ‹ เชจเชตเชพ เช…เชฐเซเชฅ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชฒเชฌเชคเซเชค, เช† เชคเชฎเซ‡ เชœเซ‡ เชธเช‚เชธเซเช•เชฐเชฃเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เชคเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. เชคเชฎเชพเชฐเซ€ เช•เซ‹เชทเซเชŸเช•เซ‹ เช•เซ‡เชŸเชฒเซ€ เช—เช‚เชญเซ€เชฐเชคเชพเชฅเซ€ เช…เชฒเช— เช›เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. เช…เชจเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ 9.1 เชซเช•เซเชค เชœเซ‚เชจเซ€ เช•เซเชตเซ‡เชฐเซ€เชเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชถเซ‡. เชจเชตเซ€ เช†เชตเซƒเชคเซเชคเชฟเช“ เชฌเช—เชจเซ‡ เชชเช•เชกเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เช•เชนเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเช— เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชถเซ‹เชง_เชชเชฅ + เชธเชฐเซเชตเชฐ-เชคเซˆเชฏเชพเชฐ เชจเชฟเชตเซ‡เชฆเชจเซ‹ = เชธเซ‡เชŸ เช•เชฐเซ‹
เช•เซ‡เชถเซเชก เชชเซเชฒเชพเชจ เชชเชฐเชฟเชฃเชพเชฎ เชชเซเชฐเช•เชพเชฐ เชฌเชฆเชฒเชตเซ‹ เชœเซ‹เชˆเช เชจเชนเซ€เช‚

เชคเซ‡เชจเซ€ เชธเชพเชฐเชตเชพเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ€? เชคเซเชฏเชพเช‚ เชเช• เชธเชฐเชณ เชฐเซ‡เชธเซ€เชชเซ€ เช›เซ‡ - เชคเซ‡ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚. เชœเซเชฏเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชพเชฒเซ€ เชฐเชนเซ€ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ search_path เชฌเชฆเชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เชฌเชฆเชฒเซ‹ เช›เซ‹, เชคเซ‹ เชจเชตเซเช‚ เช•เชจเซ‡เช•เซเชถเชจ เชฌเชจเชพเชตเชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡.

เชคเชฎเซ‡ เชšเชฐเซเชšเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชเชŸเชฒเซ‡ เช•เซ‡ เช–เซ‹เชฒเซ‹, เชšเชฐเซเชšเชพ เช•เชฐเซ‹, เช‰เชฎเซ‡เชฐเซ‹. เช•เชฆเชพเชš เช…เชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชกเซ‡เชตเชฒเชชเชฐเซเชธเชจเซ‡ เช–เชพเชคเชฐเซ€ เช†เชชเซ€ เชถเช•เซ€เช เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟ เชฎเซ‚เชฒเซเชฏเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ‡ เช† เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเชตเซเช‚ เชœเซ‹เชˆเช: โ€œเชœเซเช“, เชคเชฎเชพเชฐเซเช‚ เชฎเซ‚เชฒเซเชฏ เช…เชนเซ€เช‚ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เช•เชฆเชพเชš เชคเชฎเชพเชฐเซ‡ เชจเชฟเชตเซ‡เชฆเชจเซ‹เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡?" เชนเชตเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช—เซเชชเซเชค เชฐเซ€เชคเซ‡ เชตเชฐเซเชคเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เชœเชพเชฃ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชจเชฟเชตเซ‡เชฆเชจเซ‹ เช…เช‚เชฆเชฐ เช•เซเชฏเชพเช‚เช• เชฌเชฆเชฒเชพเชˆ เช—เชฏเชพ เช›เซ‡.

เช…เชจเซ‡ เชนเซเช‚ เชซเชฐเซ€เชฅเซ€ เชญเชพเชฐ เช†เชชเซ€เชถ - เช† เชเชตเซ€ เชตเชธเซเชคเซ เช›เซ‡ เชœเซ‡ เชœเชพเชตเชพ เชฎเชพเชŸเซ‡ เชฒเชพเช•เซเชทเชฃเชฟเช• เชจเชฅเซ€. เช†เชชเชฃเซ‡ PL/pgSQL เชฎเชพเช‚ เชเช• เชฅเซ€ เชเช• เชธเชฎเชพเชจ เชตเชธเซเชคเซ เชœเซ‹เชˆเชถเซเช‚. เชชเชฐเช‚เชคเซ เชคเซ‡ เชคเซเชฏเชพเช‚ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เช•เซ‡เชŸเชฒเชพเช• เชตเชงเซ เชกเซ‡เชŸเชพ เชชเชธเช‚เชฆเช—เซ€เชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช. เช…เชฎเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชฎเชฟเชฒเชฟเชฏเชจ เชชเช‚เช•เซเชคเชฟเช“ เชธเชพเชฅเซ‡เชจเซเช‚ เชŸเซ‡เชฌเชฒ เช›เซ‡. เชฆเชฐเซ‡เช• เชฒเชพเช‡เชจ เชเช• เช•เชฟเชฒเซ‹เชฌเชพเช‡เชŸ เช›เซ‡. เช†เชถเชฐเซ‡ เชเช• เช—เซ€เช—เชพเชฌเชพเชˆเชŸ เชกเซ‡เชŸเชพ. เช…เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชœเชพเชตเชพ เชฎเชถเซ€เชจเชฎเชพเช‚ 128 เชฎเซ‡เช—เชพเชฌเชพเชˆเชŸเชจเซ€ เชตเชฐเซเช•เชฟเช‚เช— เชฎเซ‡เชฎเชฐเซ€ เช›เซ‡.

เช…เชฎเซ‡, เชคเชฎเชพเชฎ เชชเซเชธเซเชคเช•เซ‹เชฎเชพเช‚ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ, เชธเซเชŸเซเชฐเซ€เชฎ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เชเชŸเชฒเซ‡ เช•เซ‡, เช†เชชเชฃเซ‡ เชฐเชฟเชเชฒเซเชŸเชธเซ‡เชŸ เช–เซ‹เชฒเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเซ€เช เช›เซ€เช. เชคเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡? เชถเซเช‚ เชคเซ‡ เชธเซเชฎเซƒเชคเชฟเชฎเชพเช‚เชฅเซ€ เชชเชกเซ€ เชœเชถเซ‡? เชฅเซ‹เชกเซเช‚ เชตเชพเช‚เชšเชถเซ‹? เชšเชพเชฒเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ€เช, เชšเชพเชฒเซ‹ เชชเซ‹เชธเซเชŸเช—เซเชฐเซ‡เชธเชฎเชพเช‚ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ€เช. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชฎเชพเชจเชคเชพ เชจเชฅเซ€. เชถเซเช‚ เช†เชชเชฃเซ‡ เช†เช‰เชŸเช“เชซเชฎเซ‡เชฎเชฐเซ€ เชชเชกเซ€เชถเซเช‚? เช•เซ‹เชฃเซ‡ OutOfMemory เชจเซ‹ เช…เชจเซเชญเชต เช•เชฐเซเชฏเซ‹? เชคเซ‡ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช•เซ‹เชฃ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชฅเชฏเซเช‚? เช•เซ‹เชˆเช เชคเซ‡เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเซเช‚.

เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชฎเชฟเชฒเชฟเชฏเชจ เชชเช‚เช•เซเชคเชฟเช“ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เชซเช•เซเชค เชชเชธเช‚เชฆ เช…เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€. OFFSET/LIMIT เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช† เชตเชฟเช•เชฒเซเชช เชฎเชพเชŸเซ‡ เช•เซ‹เชฃ เช›เซ‡? เช…เชจเซ‡ เช“เชŸเซ‹เช•เชฎเชฟเชŸ เชธเชพเชฅเซ‡ เชฐเชฎเชตเชพเชจเซ€ เชคเชฐเชซเซ‡เชฃเชฎเชพเช‚ เช•เซ‹เชฃ เช›เซ‡?

เช…เชนเซ€เช‚, เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ, เชธเซŒเชฅเซ€ เช…เชฃเชงเชพเชฐเซ€ เชตเชฟเช•เชฒเซเชช เชธเชพเชšเซ‹ เชจเซ€เช•เชณเซ‡ เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เชคเชฎเซ‡ เช…เชšเชพเชจเช• เช“เชŸเซ‹เช•เชฎเชฟเชŸ เชฌเช‚เชง เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเซ‡ เชฎเชฆเชฆ เช•เชฐเชถเซ‡. เชคเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช›เซ‡? เชตเชฟเชœเซเชžเชพเชจ เช† เชตเชฟเชถเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชชเชฐเช‚เชคเซ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡, เชชเซ‹เชธเซเชŸเช—เซเชฐเซ‡เชธ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชคเชพ เชคเชฎเชพเชฎ เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชฎเช—เซเชฐ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡. PgJDBC เช† เชฌเชพเชฌเชคเชฎเชพเช‚ เช…เชชเชตเชพเชฆ เชจเชฅเซ€; เชคเซ‡ เชฌเชงเซ€ เชชเช‚เช•เซเชคเชฟเช“ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡.

FetchSize เชฅเซ€เชฎ เชชเชฐ เชญเชฟเชจเซเชจเชคเชพ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชคเชฎเซ‡ เชเช• เช…เชฒเช— เชจเชฟเชตเซ‡เชฆเชจเชจเชพ เชธเซเชคเชฐเซ‡ เช•เชนเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เช…เชนเซ€เช‚, เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ 10, 50 เชธเซเชงเซ€เชฎเชพเช‚ เชกเซ‡เชŸเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเซ‡ เชธเซเชตเชคเชƒ เช•เชฎเชฟเชŸเซ€เชจเซ‡ เชฌเช‚เชง เชจ เช•เชฐเซ‹ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช† เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช“เชŸเซ‹เช•เชฎเชฟเชŸ เชฌเช‚เชง เช•เชฐเซเชฏเซเช‚ - เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡.

เชชเชฐเช‚เชคเซ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชตเซเช‚ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช setFetchSize เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เช…เชธเซเชตเชฟเชงเชพเชœเชจเช• เช›เซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชเช• เชธเซ‡เชŸเชฟเช‚เช— เชฌเชจเชพเชตเซ€ เช›เซ‡ เชœเซ‡ เชธเชฎเช—เซเชฐ เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ เช•เชนเซ‡เชถเซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชคเซ‡ เช…เชฎเซ‡ เช•เชนเซเชฏเซเช‚ เช›เซ‡. เชชเชฐเชฟเชฎเชพเชฃ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡. เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชถเซเช‚ เชฎเชณเซเชฏเซเช‚? เชœเซ‹ เช†เชชเชฃเซ‡ เชจเชพเชจเซ€ เชฐเช•เชฎ เชชเชธเช‚เชฆ เช•เชฐเซ€เช, เชœเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช†เชชเชฃเซ‡ เชเช• เชธเชฎเชฏเซ‡ 10 เชชเช‚เช•เซเชคเชฟเช“ เชชเชธเช‚เชฆ เช•เชฐเซ€เช, เชคเซ‹ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เช“เชตเชฐเชนเซ‡เชก เช–เชฐเซเชš เช˜เชฃเซ‹ เชฎเซ‹เชŸเซ‹ เช›เซ‡. เชคเซ‡เชฅเซ€, เช† เชฎเซ‚เชฒเซเชฏ เชฒเช—เชญเช— เชธเซ‹ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช†เชฆเชฐเซเชถ เชฐเซ€เชคเซ‡, เช…เชฒเชฌเชคเซเชค, เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชฌเชพเชˆเชŸเชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเซเช‚ เชคเซ‡ เชถเซ€เช–เชตเซเช‚ เชชเชกเชถเซ‡, เชชเชฐเช‚เชคเซ เชฐเซ‡เชธเซ€เชชเซ€ เช† เช›เซ‡: defaultRowFetchSize เชธเซ‹ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ‹ เช…เชจเซ‡ เช–เซเชถ เชฐเชนเซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เชชเชฐ เช†เช—เชณ เชตเชงเซ€เช. เชจเชฟเชตเซ‡เชถ เชธเชฐเชณ เช›เซ‡, เชคเซเชฏเชพเช‚ เชตเชฟเชตเชฟเชง เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, INSERT, VALUES. เช† เชเช• เชธเชพเชฐเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡. เชคเชฎเซ‡ "เช‡เชจเชธเชฐเซเชŸ เชธเชฟเชฒเซ‡เช•เซเชŸ" เช•เชนเซ€ เชถเช•เซ‹ เช›เซ‹. เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชคเซ‡ เชœ เชตเชธเซเชคเซ เช›เซ‡. เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เช•เซ‹เชˆ เชคเชซเชพเชตเชค เชจเชฅเซ€.

เชชเซเชธเซเชคเช•เซ‹ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชฌเซ‡เชš เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชชเซเชธเซเชคเช•เซ‹ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เช˜เชฃเชพ เช•เซŒเช‚เชธ เชธเชพเชฅเซ‡ เชตเชงเซ เชœเชŸเชฟเชฒ เช†เชฆเซ‡เชถเซ‹ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชจเซ‡ เชชเซ‹เชธเซเชŸเช—เซเชฐเซ‡เชธเชฎเชพเช‚ เชเช• เช…เชฆเซเชญเซเชค เชธเซเชตเชฟเชงเชพ เช›เซ‡ - เชคเชฎเซ‡ เช•เซ‹เชชเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชเชŸเชฒเซ‡ เช•เซ‡ เชคเซ‡ เชเชกเชชเชฅเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชฎเชพเชชเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชซเชฐเซ€เชฅเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชฐเชธเชชเซเชฐเชฆ เชถเซ‹เชง เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชฎเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช? เช…เชฎเซ‡ เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เชชเชพเชฐเซเชธ เช•เชฐเชตเชพ เช…เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, TCP เช…เชฎเชจเซ‡ เช† เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€. เชœเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เชตเชฟเชจเช‚เชคเซ€ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เชตเซเชฏเชธเซเชค เช›เซ‡, เชคเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เชฎเชจเซ‡ เชœเชตเชพเชฌเซ‹ เชฎเซ‹เช•เชฒเชตเชพเชจเชพ เชชเซเชฐเชฏเชพเชธเซ‹เชฎเชพเช‚ เชตเชฟเชจเช‚เชคเซ€เช“ เชตเชพเช‚เชšเชคเซเช‚ เชจเชฅเซ€. เช…เช‚เชคเชฟเชฎ เชชเชฐเชฟเชฃเชพเชฎ เช เช›เซ‡ เช•เซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชตเชฟเชจเช‚เชคเซ€ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡, เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซเชฒเชพเชฏเช‚เชŸ เชชเซเชฐเชคเชฟเชญเชพเชต เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชพเชน เชœเซเช เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชชเซ‡เช•เซ‡เชŸ เชฎเซ‹เช•เชฒเชตเชพเชจเซ€ เชซเชฐเชœ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชตเชงเชพเชฐเชพเชจเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเช“, เชธเชฎเชฏเชจเซ‹ เชตเชงเชพเชฐเชพเชจเซ‹ เชฌเช—เชพเชก.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชตเช…เชจเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เชœเซ‡เชŸเชฒเซเช‚ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช, เชคเซ‡เชŸเชฒเซเช‚ เช–เชฐเชพเชฌ เชฅเชพเชฏ เช›เซ‡. เชกเซเชฐเชพเชˆเชตเชฐ เชเช•เชฆเชฎ เชจเชฟเชฐเชพเชถเชพเชตเชพเชฆเซ€ เช›เซ‡ เช…เชจเซ‡ เชฒเชพเชˆเชจเซ‹เชจเชพ เช•เชฆ เชตเช—เซ‡เชฐเซ‡เชจเซ‡ เช†เชงเชพเชฐเซ‡ เชฆเชฐ 200 เชฒเชพเชˆเชจเชฎเชพเช‚ เชฒเช—เชญเช— เชเช• เชตเชพเชฐ เชคเซ‡เชฎเชจเซ‡ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

https://github.com/pgjdbc/pgjdbc/pull/380

เชเชตเซเช‚ เชฌเชจเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชฒเซ€เชŸเซ€เชจเซ‡ เชธเซเชงเชพเชฐเซ€ เชฒเซ‹ เช…เชจเซ‡ เชฌเชงเซเช‚ 10 เช—เชฃเซ€ เชเชกเชชเซ‡ เชตเชงเชถเซ‡. เชคเซ‡ เชฅเชพเชฏ เช›เซ‡. เชถเชพ เชฎเชพเชŸเซ‡? เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ, เช†เชจเชพ เชœเซ‡เชตเซ‹ เชธเชคเชค เช‰เชชเชฏเซ‹เช— เช•เซเชฏเชพเช‚เช• เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ "128" เชจเซ‹ เช…เชฐเซเชฅ เชฌเซ‡เชšเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจ เช•เชฐเชตเชพเชจเซ‹ เชนเชคเซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชœเชพเชตเชพ เชฎเชพเช‡เช•เซเชฐเซ‹เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชนเชพเชฐเซเชจเซ‡เชธ

เชคเซ‡ เชธเชพเชฐเซเช‚ เช›เซ‡ เช•เซ‡ เช† เชธเชคเซเชคเชพเชตเชพเชฐ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เชจเชฅเซ€. เชชเซเชฐเช•เชพเชถเชจ เชถเชฐเซ‚ เชฅเชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชถเซ‹เชงเชพเชฏเซ‡เชฒ. เชนเซเช‚ เชœเซ‡ เช…เชฐเซเชฅ เช†เชชเซเช‚ เช›เซเช‚ เชคเซ‡ เชฌเชงเชพ เช†เชงเซเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เช…เชœเชฎเชพเชตเซ€เช. เช…เชฎเซ‡ InsertBatch เชธเชฐเชณ เชฎเชพเชชเซ€เช เช›เซ€เช. เช…เชฎเซ‡ InsertBatch เช˜เชฃเซ€ เชตเช–เชค เชฎเชพเชชเซ€เช เช›เซ€เช, เชเชŸเชฒเซ‡ เช•เซ‡ เชเช• เชœ เชตเชธเซเชคเซ, เชชเชฐเช‚เชคเซ เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เช•เชฟเช‚เชฎเชคเซ‹ เช›เซ‡. เช•เชชเชŸเซ€ เชšเชพเชฒ. เชฆเชฐเซ‡เช• เชœเชฃ เช† เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช† เชเช• เชธเชฐเชณ เชšเชพเชฒ เช›เซ‡, เชœเซ‡ COPY เช•เชฐเชคเชพเช‚ เช˜เชฃเซ€ เชธเชฐเชณ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เชคเชฎเซ‡ COPY เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชจเซ‡ เชคเชฎเซ‡ เช† เชฐเชšเชจเชพเช“ เชชเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชกเชฟเชซเซ‹เชฒเซเชŸ เชชเซเชฐเช•เชพเชฐ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ‹, เชเชฐเซ‡ เชชเชพเชธ เช•เชฐเซ‹ เช…เชจเซ‡ เชธเซ€เชงเชพ เชŸเซ‡เชฌเชฒ เชชเชฐ เชฆเชพเช–เชฒ เช•เชฐเซ‹.

เชœเซ‹ เชคเชฎเซ‡ เชฒเชฟเช‚เช• เช–เซ‹เชฒเซ‹ เช›เซ‹: pgjdbc/ubenchmsrk/InsertBatch.java, เชคเซ‹ เช† เช•เซ‹เชก GitHub เชชเชฐ เช›เซ‡. เชคเชฎเซ‡ เช–เชพเชธ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชคเซเชฏเชพเช‚ เช•เชˆ เชตเชฟเชจเช‚เชคเซ€เช“ เชœเชจเชฐเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡. เช•เซ‹เชˆ เชตเชพเช‚เชงเซ‹ เชจเชฅเซ€.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชฎเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเซเชฏเซเช‚. เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เช เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชฌเซ‡เชšเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจ เช•เชฐเชตเซ‹ เช เชซเช•เซเชค เช…เชถเช•เซเชฏ เช›เซ‡. เชฌเชงเชพ เชฌเซ‡เชšเชฟเช‚เช— เชตเชฟเช•เชฒเซเชชเซ‹ เชถเซ‚เชจเซเชฏ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชเช• เชตเช–เชคเชจเชพ เช…เชฎเชฒเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจเชจเซ‹ เชธเชฎเชฏ เชตเซเชฏเชตเชนเชพเชฐเซ€เช• เชฐเซ€เชคเซ‡ เชถเซ‚เชจเซเชฏ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช…เชฎเซ‡ เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเซ€เช เช›เซ€เช. เชคเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เชŸเซ‡เชฌเชฒ เช›เซ‡. เชคเซเชฐเชฃ เช•เซ‰เชฒเชฎ. เช…เชจเซ‡ เช†เชชเชฃเซ‡ เช…เชนเซ€เช‚ เชถเซเช‚ เชœเซ‹เชˆเช เช›เซ€เช? เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เช† เชคเซเชฐเชฃเซ‡เชฏ เชตเชฟเช•เชฒเซเชชเซ‹ เชฒเช—เชญเช— เชคเซเชฒเชจเชพเชคเซเชฎเช• เช›เซ‡. เช…เชจเซ‡ เช•เซ‹เชชเซ€, เช…เชฒเชฌเชคเซเชค, เชตเชงเซ เชธเชพเชฐเซ€ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชŸเซเช•เชกเชพเช“ เชฆเชพเช–เชฒ เช•เชฐเซ€เช เช›เซ€เช. เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เชเช• VALUES เชฎเซ‚เชฒเซเชฏ, เชฌเซ‡ VALUES เชฎเซ‚เชฒเซเชฏเซ‹, เชคเซเชฐเชฃ VALUES เชฎเซ‚เชฒเซเชฏเซ‹, เช…เชฅเชตเชพ เช…เชฎเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ 10 เชจเซ‡ เช…เชฒเซเชชเชตเชฟเชฐเชพเชฎ เชตเชกเซ‡ เช…เชฒเช— เช•เชฐเซเชฏเชพ เช›เซ‡. เช† เชนเชตเซ‡ เชฎเชพเชคเซเชฐ เช†เชกเซเช‚ เช›เซ‡. 1, 2, 4, 128. เชคเซ‡ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เชฌเซ‡เชš เช‡เชจเซเชธเชฐเซเชŸ, เชœเซ‡ เชตเชพเชฆเชณเซ€ เชฐเช‚เช—เชฎเชพเช‚ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เช˜เชฃเซเช‚ เชธเชพเชฐเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡. เชเชŸเชฒเซ‡ เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชเช• เชธเชฎเชฏเซ‡ เชเช• เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช›เซ‹ เช…เชฅเชตเชพ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชเช• เชธเชฎเชฏเซ‡ เชšเชพเชฐ เชฆเชพเช–เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชฌเชฎเชฃเซเช‚ เชธเชพเชฐเซเช‚ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡, เชซเช•เซเชค เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เช•เซ‡ เช…เชฎเซ‡ VALUES เชฎเชพเช‚ เชฅเซ‹เชกเซเช‚ เชตเชงเชพเชฐเซ‡ เช–เซ‡เช‚เชšเซเชฏเซเช‚ เช›เซ‡. เช“เช›เชพ EXECUTE เช“เชชเชฐเซ‡เชถเชจเซเชธ.

เชจเชพเชจเชพ เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชชเชฐ COPY เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช…เชคเซเชฏเช‚เชค เช…เชจเชฟเชถเซเชšเชฟเชค เช›เซ‡. เชนเซเช‚ เชชเชฃ เชชเซเชฐเชฅเชฎ เชฌเซ‡ เชชเชฐ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เชจ เชนเชคเซ€. เชคเซ‡เช“ เชธเซเชตเชฐเซเช—เชฎเชพเช‚ เชœเชพเชฏ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡, COPY เชฎเชพเชŸเซ‡ เช† เชฒเซ€เชฒเชพ เชจเช‚เชฌเชฐเซ‹.

เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ€ เชธเซ‹ เชชเช‚เช•เซเชคเชฟเช“ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เช•เซ‰เชชเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช. เช† เช•เชจเซ‡เช•เซเชถเชจ เช–เซ‹เชฒเชตเชพเชจเซเช‚ เช“เชตเชฐเชนเซ‡เชก เชฎเซ‹เชŸเซเช‚ เช›เซ‡. เช…เชจเซ‡, เชธเชพเชšเซเช‚ เช•เชนเซเช‚ เชคเซ‹, เชฎเซ‡เช‚ เช† เชฆเชฟเชถเชพเชฎเชพเช‚ เช–เซ‹เชฆเช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€. เชฎเซ‡เช‚ เชฌเซ‡เชšเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเซเชฏเซเช‚, เชชเชฃ เช•เซ‰เชชเซ€ เชจเชนเซ€เช‚.

เช†เชชเชฃเซ‡ เช†เช—เชณ เชถเซเช‚ เช•เชฐเซ€เช? เช…เชฎเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹. เช…เชฎเซ‡ เชธเชฎเชœเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ‡ เช•เซเชฏเชพเช‚ เชคเซ‹ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เช…เชฅเชตเชพ เชเช• เชšเชชเชณ เชฌเซ‡เช•เชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เช˜เชฃเชพ เช…เชฐเซเชฅเซ‹เชจเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡.

PostgreSQL เช…เชจเซ‡ JDBC เชฌเชงเซ‹ เชœเซเชฏเซเชธ เชธเซเช•เซเชตเชฟเช เช•เชฐเซ‡ เช›เซ‡. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชธเชฟเชŸเชจเซ€เช•เซ‹เชต

เช†เชœเชจเชพ เช…เชนเซ‡เชตเชพเชฒเชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฐเซ‡ เชถเซเช‚ เชฆเซ‚เชฐ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช?

  • เชคเซˆเชฏเชพเชฐ เชจเชฟเชตเซ‡เชฆเชจ เช†เชชเชฃเซเช‚ เชฌเชงเซเช‚ เช›เซ‡. เช† เช‰เชคเซเชชเชพเชฆเช•เชคเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซเช‚ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡ เชฎเชฒเชฎเชฎเชพเช‚ เชฎเซ‹เชŸเซ€ เชซเซเชฒเซ‹เชช เชชเซ‡เชฆเชพ เช•เชฐเซ‡ เช›เซ‡.
  • เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ 6 เชตเช–เชค เชเช•เซเชธเชชเซเชฒเซ‡เชจ เชเชจเชพเชฒเชฟเช เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.
  • เช…เชจเซ‡ เช…เชฎเชพเชฐเซ‡ เช…เชฎเชพเชฐเซ€ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เช•เซเชตเซ‡เชฐเซ€เชเชจเซ€ เชฌเชพเช•เซ€เชจเซ€ เชŸเช•เชพเชตเชพเชฐเซ€ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ OFFSET 0 เช…เชจเซ‡ +0 เชœเซ‡เชตเซ€ เชฏเซเช•เซเชคเชฟเช“เชจเซ‡ เชชเชพเชคเชณเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹