PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдореА рд╕реБрдЪрд╡рд┐рддреЛ рдХреА рддреБрдореНрд╣реА рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣рдЪреНрдпрд╛ 2016 рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рдЙрддрд╛рд░рд╛ рд╡рд╛рдЪрд╛ тАЬPostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврдд рдЖрд╣реЗрддтАЭ

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рд╢реБрдн рджреБрдкрд╛рд░ рдорд╛рдЭреЗ рдирд╛рд╡ рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣ рдЖрд╣реЗ. рдореА 10 рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди NetCracker рд╕рд╛рдареА рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ. рдЖрдгрд┐ рдореА рдореБрдЦреНрдпрддрдГ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдордзреНрдпреЗ рдЖрд╣реЗ. Java рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ, SQL рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рдорд▓рд╛ рдЖрд╡рдбрддреЗ.

рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди PostgreSQL рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рддреЗрд╡реНрд╣рд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ рдЖрдореНрд╣реА рдХрд╛рдп рдЕрдиреБрднрд╡рд▓реЗ рдпрд╛рдмрджреНрджрд▓ рдореА рдЖрдЬ рдмреЛрд▓реЗрди. рдЖрдгрд┐ рдЖрдореНрд╣реА рдмрд╣реБрддреЗрдХ Java рд╕рд╣ рдХрд╛рдо рдХрд░рддреЛ. рдкрдг рдЖрдЬ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЬреЗ рд╕рд╛рдВрдЧрдгрд╛рд░ рдЖрд╣реЗ рддреЗ рдлрдХреНрдд Java рдмрджреНрджрд▓ рдирд╛рд╣реА. рд╕рд░рд╛рд╡ рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рд╣реЗ рдЗрддрд░ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдЖрдврд│рддреЗ.

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 рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдкрд░рдВрддреБ рд╕рд░рд╛рд╡рд╛рдиреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ рдХреА рд╣реЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА. рдХрд╛? рдХрд╛рд░рдг рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ тАШрдХреНрд▓реЛрдЬтАЩ рдкрджреНрдзрдд рдЖрд╣реЗ. рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рд╣реЗ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдЕрд╕реЗ рджрд┐рд╕реВрди рдпреЗрддреЗ рдХреА рд╣реЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рдгрд╛рд▒реНрдпрд╛ рдзреВрдореНрд░рдкрд╛рдирд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА "рдкрд╛рд░реНрд╕ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯ рдбрд┐рд▓рд▓реЛрдХреЗрдЯ" рдореНрд╣рдгрд╛рд▓реЛ.

рд╣реА рд╕рд░реНрд╡ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрдорд┐рддреА рдЖрдгрд┐ рд╡рд┐рдзрд╛рдирд╛рдВрдЪреА рдЙрддрд░рд╛рдИ рдХрд╛? рдХреЛрдгрд╛рд▓рд╛рд╣реА рддреНрдпрд╛рдВрдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рдкрд░рдВрддреБ рдкреНрд░реАрдкреЗрд░реНрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕рдордзреНрдпреЗ рдЬреЗ рдШрдбрддреЗ рддреЗ рдореНрд╣рдгрдЬреЗ рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рддреЗ рдмрдВрдж рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рддреЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдмрдВрдж рдХрд░рддрд╛рдд. рд╣реЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╣рд╡реЗ рдЖрд╣реЗ рдЕрд╕реЗ рдирд╛рд╣реА.

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 рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдкреБрдвреАрд▓ рд╕рдорд╕реНрдпрд╛. рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗрдд. рдЕрд╕реЗ ORM рдЖрд╣реЗрдд рдЬреЗ рдореНрд╣рдгрддрд╛рдд рдХреА рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреЗ 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 рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рд╢реЛрдз_рдкрде + рд╕рд░реНрд╡реНрд╣рд░-рддрдпрд╛рд░ рд╡рд┐рдзрд╛рдиреЗ = рд╕реЗрдЯ рдХрд░рд╛
рдХреЕрд╢реНрдб рдкреНрд▓реЕрди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд░ рдмрджрд▓реВ рдирдпреЗ

рддреНрдпрд╛рд╡рд░ рдЙрдкрдЪрд╛рд░ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ? рдПрдХ рд╕рд╛рдзреА рдХреГрддреА рдЖрд╣реЗ - рддреЗ рдХрд░реВ рдирдХрд╛. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ рд╢реЛрдз_рдкрде рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рдЖрдкрдг рдмрджрд▓рд▓реНрдпрд╛рд╕, рдирд╡реАрди рдХрдиреЗрдХреНрд╢рди рддрдпрд╛рд░ рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ.

рддреБрдореНрд╣реА рдЪрд░реНрдЪрд╛ рдХрд░реВ рд╢рдХрддрд╛, рдореНрд╣рдгрдЬреЗ рдЙрдШрдбрд╛, рдЪрд░реНрдЪрд╛ рдХрд░рд╛, рдЬреЛрдбрд╛. рдХрджрд╛рдЪрд┐рдд рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╕рдХрд╛рдВрдирд╛ рд╣реЗ рдкрдЯрд╡реВрди рджреЗрдК рд╢рдХрддреЛ рдХреА рдЬреЗрд╡реНрд╣рд╛ рдХреЛрдгреА рдореВрд▓реНрдп рдмрджрд▓рддреЗ рддреЗрд╡реНрд╣рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдиреЗ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рд╕рд╛рдВрдЧрд╛рд╡реЗ: тАЬрдкрд╛рд╣рд╛, рддреБрдордЪреЗ рдореВрд▓реНрдп рдпреЗрдереЗ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдХрджрд╛рдЪрд┐рдд рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдзрд╛рдиреЗ рд░реАрд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреА рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ?" рдЖрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЧреБрдкреНрддрдкрдгреЗ рд╡рд╛рдЧрддреЛ рдЖрдгрд┐ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдЖрдд рдХреБрдареЗрддрд░реА рдмрджрд▓рд▓реНрдпрд╛рдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рджреЗрдд рдирд╛рд╣реА.

рдЖрдгрд┐ рдореА рдкреБрдиреНрд╣рд╛ рдЬреЛрд░ рджреЗрдИрди - рд╣реЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ рдЬреЗ рдЬрд╛рд╡рд╛рд╕рд╛рдареА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрдкреВрд░реНрдг рдирд╛рд╣реА. рддреАрдЪ рдЧреЛрд╖реНрдЯ рдЖрдкрдг PL/pgSQL рдордзреНрдпреЗ рдПрдХ рддреЗ рдПрдХ рдкрд╛рд╣реВ. рдкрдг рддреНрдпрд╛рдЪреЗ рдкреБрдирд░реБрддреНрдкрд╛рджрди рддрд┐рдереЗ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЪрд▓рд╛ рдЖрдгрдЦреА рдХрд╛рд╣реА рдбреЗрдЯрд╛ рдирд┐рд╡рдб рдХрд░реВрди рдкрд╛рд╣реВ рдпрд╛. рдЖрдореНрд╣реА рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рдирд┐рд╡рдбрддреЛ. рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рджрд╢рд▓рдХреНрд╖ рдкрдВрдХреНрддреА рдЕрд╕рд▓реЗрд▓реА рдЯреЗрдмрд▓ рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХ рдУрд│ рдПрдХ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдЖрд╣реЗ. рдЕрдВрджрд╛рдЬреЗ рдПрдХ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛. рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЬрд╛рд╡рд╛ рдорд╢реАрдирдордзреНрдпреЗ 128 рдореЗрдЧрд╛рдмрд╛рдЗрдЯреНрд╕рдЪреА рдХрд╛рд░реНрдпрд░рдд рдореЗрдорд░реА рдЖрд╣реЗ.

рдЖрдореНрд╣реА, рд╕рд░реНрд╡ рдкреБрд╕реНрддрдХрд╛рдВрдордзреНрдпреЗ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реНрдпрд╛рдиреБрд╕рд╛рд░, рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдкрд░рддреЛ. рдореНрд╣рдгрдЬреЗрдЪ, рдЖрдореНрд╣реА рд░рд┐рдЭрд▓реНрдЯрд╕реЗрдЯ рдЙрдШрдбрддреЛ рдЖрдгрд┐ рддрд┐рдереВрди рд╣рд│реВрд╣рд│реВ рдбреЗрдЯрд╛ рд╡рд╛рдЪрддреЛ. рдЪрд╛рд▓реЗрд▓ рдХрд╛? рдЖрдард╡рдгреАрддреВрди рдкрдбреЗрд▓ рдХрд╛? рдереЛрдбреЗ рд╡рд╛рдЪрд╛рд▓ рдХрд╛? рдЪрд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡реВрдпрд╛, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕рд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡реВрдпрд╛. рдЖрдордЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдмрд╕рдд рдирд╛рд╣реА. рдЖрдкрдг рдЖрдЙрдЯрдСрдл рдореЗрдорд░реА рдкрдбреВ рдХрд╛? OutOfMemory рдЪрд╛ рдЕрдиреБрднрд╡ рдХреЛрдгреА рдШреЗрддрд▓рд╛? рддреНрдпрд╛рдирдВрддрд░ рддреЗ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рдд рдХреЛрдгреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ? рдХреЛрдгреАрддрд░реА рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рджрд╢рд▓рдХреНрд╖ рдкрдВрдХреНрддреА рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдлрдХреНрдд рдирд┐рд╡рдбреВрди рдирд┐рд╡рдбреВ рд╢рдХрдд рдирд╛рд╣реА. рдСрдлрд╕реЗрдЯ/рд▓рд┐рдорд┐рдЯ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рд╕рд╛рдареА рдХреЛрдг рдЖрд╣реЗ? рдЖрдгрд┐ autoCommit рд╕рд╣ рдЦреЗрд│рдгреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдХреЛрдг рдЖрд╣реЗ?

рдпреЗрдереЗ, рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ, рд╕рд░реНрд╡рд╛рдд рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░реНрдпрд╛рдп рдпреЛрдЧреНрдп рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ. рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣реА рдЕрдЪрд╛рдирдХ autoCommit рдмрдВрдж рдХреЗрд▓реЗ рддрд░ рддреЗ рдорджрдд рдХрд░реЗрд▓. рдЕрд╕ рдХрд╛? рд╡рд┐рдЬреНрдЮрд╛рдирд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдкрд░рдВрддреБ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдХреНрд▓рд╛рдпрдВрдЯ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рдЖрдгрддрд╛рдд. PgJDBC рдпрд╛ рдмрд╛рдмрддреАрдд рдЕрдкрд╡рд╛рдж рдирд╛рд╣реА; рддреЗ рд╕рд░реНрд╡ рдкрдВрдХреНрддреА рдирд┐рд╡рдбрддреЗ.

FetchSize рдереАрдорд╡рд░ рднрд┐рдиреНрдирддрд╛ рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗ рддреБрдореНрд╣реА рд╕реНрд╡рддрдВрддреНрд░ рд╡рд┐рдзрд╛рдирд╛рдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░ рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддрд╛ рдХреА рдпреЗрдереЗ, рдХреГрдкрдпрд╛ 10, 50 рдкрд░реНрдпрдВрдд рдбреЗрдЯрд╛ рдирд┐рд╡рдбрд╛. рдкрд░рдВрддреБ рдЬреЛрдкрд░реНрдпрдВрдд рддреБрдореНрд╣реА рдСрдЯреЛрдХрдорд┐рдЯ рдмрдВрдж рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд рд╣реЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА. рдСрдЯреЛрдХрдорд┐рдЯ рдмрдВрдж рдХреЗрд▓реЗ - рддреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ.

рдкрд░рдВрддреБ рдХреЛрдбрдордзреВрди рдЬрд╛рдгреЗ рдЖрдгрд┐ рд╕реЗрдЯрдлреЗрдЪрд╕рд╛рдИрдЬ рд╕рд░реНрд╡рддреНрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ рдЬреА рд╕рдВрдкреВрд░реНрдг рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯ рдореВрд▓реНрдп рд╕рд╛рдВрдЧреЗрд▓.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЖрдореНрд╣реА рддреЗрдЪ рдореНрд╣рдгрд╛рд▓реЛ. рдкреЕрд░рд╛рдореАрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдорд┐рд│рд╛рд▓реЗ? рдЬрд░ рдЖрдореНрд╣реА рд▓рд╣рд╛рди рд░рдХреНрдХрдо рдирд┐рд╡рдбрд▓реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣реА рдПрдХрд╛ рд╡реЗрд│реА 10 рдкрдВрдХреНрддреА рдирд┐рд╡рдбрд▓реНрдпрд╛, рддрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЦреВрдк рдореЛрдареЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЦрд░реНрдЪ рдЖрд╣реЗрдд. рдореНрд╣рдгреВрди, рд╣реЗ рдореВрд▓реНрдп рд╕реБрдорд╛рд░реЗ рд╢рдВрднрд░рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рддрджреНрд╡рддрдЪ, рдЕрд░реНрдерд╛рддрдЪ, рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдмрд╛рдЗрдЯреНрд╕рдордзреНрдпреЗ рдХрд╕реЗ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рдЕрджреНрдпрд╛рдк рд╢рд┐рдХрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓, рдкрд░рдВрддреБ рд░реЗрд╕рд┐рдкреА рдЕрд╢реА рдЖрд╣реЗ: рдбреАрдлреЙрд▓реНрдЯрд░реЛрдлреЗрдЪрд╕рд╛рдЗрдЬ рд╢рдВрднрд░рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕реЗрдЯ рдХрд░рд╛ рдЖрдгрд┐ рдЖрдирдВрджреА рд░рд╣рд╛.

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 рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдореЛрдЬрддреЛ, рдореНрд╣рдгрдЬреЗ рд╕рдорд╛рди рдЧреЛрд╖реНрдЯ, рдкрд░рдВрддреБ рдЕрдиреЗрдХ рдореВрд▓реНрдпреЗ рдЖрд╣реЗрдд. рдЕрд╡рдШрдб рдЪрд╛рд▓. рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╣реЗ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╣реА рдПрдХ рд╕реЛрдкреА рдЪрд╛рд▓ рдЖрд╣реЗ, рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдкрдЪ рд╕реЛрдкреА.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рддреБрдореНрд╣реА рдХреЙрдкреА рдХрд░реВ рд╢рдХрддрд╛.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЖрдгрд┐ рдЖрдкрдг рд╣реЗ рд╕рдВрд░рдЪрдирд╛рдВрд╡рд░ рдХрд░реВ рд╢рдХрддрд╛. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдбреАрдлреЙрд▓реНрдЯ рдкреНрд░рдХрд╛рд░ рдШреЛрд╖рд┐рдд рдХрд░рд╛, ре▓рд░реЗ рдкрд╛рд╕ рдХрд░рд╛ рдЖрдгрд┐ рдереЗрдЯ рдЯреЗрдмрд▓рд╡рд░ рдШрд╛рд▓рд╛.

рддреБрдореНрд╣реА рд▓рд┐рдВрдХ рдЙрдШрдбрд▓реНрдпрд╛рд╕: pgjdbc/ubenchmsrk/InsertBatch.java, рд╣рд╛ рдХреЛрдб GitHub рд╡рд░ рдЖрд╣реЗ. рддреЗрдереЗ рдХреЛрдгрдХреЛрдгрддреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рддреЗ рддреБрдореНрд╣реА рдкрд╛рд╣реВ рд╢рдХрддрд╛. рдХрд╛рд╣реА рдлрд░рдХ рдкрдбрдд рдирд╛рд╣реА.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЖрдореНрд╣реА рд▓реЙрдиреНрдЪ рдХреЗрд▓реЗ. рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рд╕рдордЬрд▓реА рдХреА рдмреЕрдЪ рди рд╡рд╛рдкрд░рдгреЗ рдХреЗрд╡рд│ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рд╕рд░реНрд╡ рдмреЕрдЪрд┐рдВрдЧ рдкрд░реНрдпрд╛рдп рд╢реВрдиреНрдп рдЖрд╣реЗрдд, рдореНрд╣рдгрдЬреЗ рдПрдХ-рд╡реЗрд│рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡реЗрд│ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рд╢реВрдиреНрдп рдЖрд╣реЗ.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЖрдореНрд╣реА рдбреЗрдЯрд╛ рдЯрд╛рдХрддреЛ. рд╣реЗ рдПрдХ рдЕрддрд┐рд╢рдп рд╕рд╛рдзреЗ рдЯреЗрдмрд▓ рдЖрд╣реЗ. рддреАрди рд╕реНрддрдВрдн. рдЖрдгрд┐ рдЖрдореНрд╣реА рдпреЗрдереЗ рдХрд╛рдп рдкрд╛рд╣рддреЛ? рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА рд╣реЗ рддрд┐рдиреНрд╣реА рдкрд░реНрдпрд╛рдп рдЕрдВрджрд╛рдЬреЗ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рдпреЗрддреАрд▓. рдЖрдгрд┐ рдХреЙрдкреА рдЕрд░реНрдерд╛рддрдЪ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рдЖрд╣реЗ.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рддреБрдХрдбреЗ рдШрд╛рд▓рддреЛ рддреЗрд╡реНрд╣рд╛ рдЕрд╕реЗ рд╣реЛрддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдПрдХ VALUES рдореВрд▓реНрдп, рджреЛрди VALUES рдореВрд▓реНрдпреЗ, рддреАрди VALUES рдореВрд▓реНрдпреЗ рдХрд┐рдВрд╡рд╛ рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдорд╛рдиреЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓реЗ 10 рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ. рд╣реЗ рдЖрддрд╛ рдлрдХреНрдд рдХреНрд╖реИрддрд┐рдЬ рдЖрд╣реЗ. 1, 2, 4, 128. рд╣реЗ рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреА рдмреЕрдЪ рдЗрдиреНрд╕рд░реНрдЯ, рдЬреЗ рдирд┐рд│реНрдпрд╛ рд░рдВрдЧрд╛рдд рдХрд╛рдврд▓реЗрд▓реЗ рдЖрд╣реЗ, рддреНрдпрд╛рд▓рд╛ рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ рд╡рд╛рдЯрддреЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдПрдХрд╛ рд╡реЗрд│реА рдПрдХ рдШрд╛рд▓рд╛ рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА рдПрдХрд╛рд╡реЗрд│реА рдЪрд╛рд░ рдЯрд╛рдХрддрд╛ рддреЗрд╡реНрд╣рд╛рд╣реА рддреЗ рджреБрдкреНрдкрдЯ рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрддреЗ, рдлрдХреНрдд рдХрд╛рд░рдг рдЖрдореНрд╣реА VALUES рдордзреНрдпреЗ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд░реЕрдо рдХреЗрд▓реЗ рдЖрд╣реЗ. рдХрдореА EXECUTE рдСрдкрд░реЗрд╢рдиреНрд╕.

рд▓рд╣рд╛рди рд╡реНрд╣реЙрд▓реНрдпреВрдорд╡рд░ рдХреЙрдкреА рд╡рд╛рдкрд░рдгреЗ рдЕрддреНрдпрдВрдд рдЕрдкреНрд░рд┐рдп рдЖрд╣реЗ. рдореА рдкрд╣рд┐рд▓реНрдпрд╛ рджреЛрди рд╡рд░ рдХрд╛рдврд▓реЗ рдирд╛рд╣реА. рддреЗ рд╕реНрд╡рд░реНрдЧрд╛рдд рдЬрд╛рддрд╛рдд, рдореНрд╣рдгрдЬреЗрдЪ рдХреЙрдкреАрд╕рд╛рдареА рд╣реЗ рд╣рд┐рд░рд╡реЗ рдЕрдВрдХ.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрд┐рдорд╛рди рд╢рдВрднрд░ рдкрдВрдХреНрддреА рдбреЗрдЯрд╛ рдЕрд╕рддрд╛рдирд╛ рдХреЙрдкреА рд╡рд╛рдкрд░рд▓реА рдкрд╛рд╣рд┐рдЬреЗ. рд╣реЗ рдХрдиреЗрдХреНрд╢рди рдЙрдШрдбрдгреНрдпрд╛рдЪреЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдореЛрдареЗ рдЖрд╣реЗ. рдЖрдгрд┐, рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ, рдореА рдпрд╛ рджрд┐рд╢реЗрдиреЗ рдЦреЛрджрд▓реЗ рдирд╛рд╣реА. рдореА рдмреЕрдЪ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реА, рдкрд░рдВрддреБ рдХреЙрдкреА рдирд╛рд╣реА.

рдЖрдореНрд╣реА рдкреБрдвреЗ рдХрд╛рдп рдХрд░реВ? рдЖрдореНрд╣реА рддреНрдпрд╛рд╡рд░ рдкреНрд░рдпрддреНрди рдХреЗрд▓реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХрддрд░ рд░рдЪрдирд╛ рдХрд┐рдВрд╡рд╛ рдЕрдиреЗрдХ рдЕрд░реНрде рдПрдХрддреНрд░рд┐рдд рдХрд░рдгрд╛рд░реЗ рдЪрддреБрд░ рдмрд╛рдХрде рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.

PostgreSQL рдЖрдгрд┐ JDBC рд╕рд░реНрд╡ рд░рд╕ рдкрд┐рд│реВрди рдХрд╛рдврддрд╛рдд. рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд╕рд┐рдЯрдирд┐рдХреЛрд╡реНрд╣

рдЖрдЬрдЪреНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рддреВрди рддреБрдореНрд╣реА рдХрд╛рдп рдХрд╛рдврд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ?

  • PreparedStatement рд╣реЗ рдЖрдордЪреЗ рд╕рд░реНрд╡рд╕реНрд╡ рдЖрд╣реЗ. рд╣реЗ рдЙрддреНрдкрд╛рджрдХрддреЗрд╕рд╛рдареА рдмрд░реЗрдЪ рдХрд╛рд╣реА рджреЗрддреЗ. рд╣реЗ рдорд▓рдо рдордзреНрдпреЗ рдПрдХ рдореЛрдард╛ рдзрдкрдХрди рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ.
  • рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ 6 рд╡реЗрд│рд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
  • рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрд░реНрд╡рд░рд┐рдд рдЯрдХреНрдХреЗрд╡рд╛рд░реА рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ OFFSET 0, рдЖрдгрд┐ +0 рд╕рд╛рд░рдЦреНрдпрд╛ рдпреБрдХреНрддреНрдпрд╛ рдкрд╛рддрд│ рдХрд░рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛