рдЖрд│рд╢реАрдВрд╕рд╛рдареА рдЕрдкрдЧреНрд░реЗрдб рдХрд░рд╛: PostgreSQL 12 рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрд╕реЗ рд╕реБрдзрд╛рд░рддреЗ

рдЖрд│рд╢реАрдВрд╕рд╛рдареА рдЕрдкрдЧреНрд░реЗрдб рдХрд░рд╛: PostgreSQL 12 рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрд╕реЗ рд╕реБрдзрд╛рд░рддреЗ

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрдпреВрдПрд▓ 12, тАЬрдЬрдЧрд╛рддреАрд▓ рд╕рд░реНрд╡реЛрддреНрдХреГрд╖реНрдЯ рдореБрдХреНрдд рд╕реНрд░реЛрдд рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕тАЭ рдЪреА рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рдХрд╛рд╣реА рдЖрдард╡рдбреНрдпрд╛рдВрдд рдпреЗрдд рдЖрд╣реЗ (рдЬрд░ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдпреЛрдЬрдиреЗрдиреБрд╕рд╛рд░ рдЪрд╛рд▓рд▓реЗ рдЕрд╕реЗрд▓). рд╣реЗ рд╡рд░реНрд╖рд╛рддреВрди рдПрдХрджрд╛ рдПрдХ рдЯрди рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╕рд╣ рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд░рд┐рд▓реАрдЬ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдиреЗрд╣рдореАрдЪреНрдпрд╛ рд╡реЗрд│рд╛рдкрддреНрд░рдХрд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рдЖрдгрд┐ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ, рддреЗ рдкреНрд░рднрд╛рд╡реА рдЖрд╣реЗ. рдореНрд╣рдгреВрдирдЪ рдореА PostgreSQL рд╕рдореБрджрд╛рдпрд╛рдЪрд╛ рд╕рдХреНрд░рд┐рдп рд╕рджрд╕реНрдп рдЭрд╛рд▓реЛ.

рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рдорд╛рдЧреАрд▓ рд░рд┐рд▓реАрдЭрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, PostgreSQL 12 рдордзреНрдпреЗ рдПрдХ рдХрд┐рдВрд╡рд╛ рджреЛрди рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдирд╛рд╣реАрдд (рдЬрд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХрд┐рдВрд╡рд╛ рдХреНрд╡реЗрд░реА рд╕рдорд╛рдВрддрд░). рдореА рдПрдХрджрд╛ рд╡рд┐рдиреЛрдж рдХреЗрд▓рд╛ рд╣реЛрддрд╛ рдХреА PostgreSQL 12 рдЪреЗ рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддрд╛ рдЖрд╣реЗ. рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪрд╛ рдЧрдВрднреАрд░ рдбреЗрдЯрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗрдЪ рд╣рд╡реЗ рдЕрд╕рддреЗ рдХрд╛?

рдкрд░рдВрддреБ PostgreSQL 12 рддрд┐рдереЗрдЪ рдерд╛рдВрдмрдд рдирд╛рд╣реА: рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгрд╛рдВрд╕рд╣, рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рдордЧрд┐рд░реА рдХрд░рддреАрд▓, рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдЕрдкрдЧреНрд░реЗрдб рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ!

(рдареАрдХ рдЖрд╣реЗ, рдХрджрд╛рдЪрд┐рдд рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛, рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдд рддреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреВрд░реНрд╡реАрд╕рд╛рд░рдЦреЗ рднрд┐рддреАрджрд╛рдпрдХ рдирд╛рд╣реА.)

PostgreSQL рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдгреЗ рдЖрдгрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрдбрдмрдб рди рдХрд░рддрд╛ рддрд╛рдмрдбрддреЛрдм рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛рдВрдЪрд╛ рдЖрдирдВрдж рдШреЗрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрдИрд▓. рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА, рдореА PostgreSQL 9.4 рд╡рд░реВрди PostgreSQL 10 рдордзреАрд▓ рдЕрдкрдЧреНрд░реЗрдбрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХреЗрд▓реЗ рдЖрдгрд┐ PostgreSQL 10 рдордзреАрд▓ рд╕реБрдзрд╛рд░рд┐рдд рдХреНрд╡реЗрд░реА рд╕рдорд╛рдВрддрд░рддреЗрдореБрд│реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪрд╛ рд╡реЗрдЧ рдХрд╕рд╛ рд╡рд╛рдврд▓рд╛ рддреЗ рдкрд╛рд╣рд┐рд▓реЗ. рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рдорд╛рдЭреНрдпрд╛рдХрдбреВрди рдЬрд╡рд│рдЬрд╡рд│ рдХрд╛рд╣реАрд╣реА рдЖрд╡рд╢реНрдпрдХ рдирд╡реНрд╣рддреЗ (рдлрдХреНрдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рд╛. max_parallel_workers).

рд╕рд╣рдордд рдЖрд╣реЗ, рдЬреЗрд╡реНрд╣рд╛ рдЕрдкрдЧреНрд░реЗрдб рдирдВрддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рддреЗ рд╕реЛрдпреАрдЪреЗ рдЕрд╕рддреЗ. рдЖрдгрд┐ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЦреВрд╢ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЦреВрдк рдкреНрд░рдпрддреНрди рдХрд░рддреЛ, рдХрд╛рд░рдг PostgreSQL рдордзреНрдпреЗ рддреЗ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдЖрд╣реЗрдд.

рддрд░ PostgreSQL 12 рд╡рд░ рд╕рд╛рдзреЗ рдЕрдкрдЧреНрд░реЗрдб рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕реЗ рдЖрдирдВрджрд┐рдд рдХрд░реВ рд╢рдХрддреЗ? рдореА рдЖрддрд╛ рд╕рд╛рдВрдЧреЗрди.

рдкреНрд░рдореБрдЦ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕реБрдзрд╛рд░рдгрд╛

рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧрд╢рд┐рд╡рд╛рдп рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╛рд░ рджреВрд░ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА. рддреБрдореНрд╣реА рдорд╛рд╣рд┐рддреА рдкрдЯрдХрди рдХрд╢реА рд╢реЛрдзреВ рд╢рдХрддрд╛? PostgreSQL рдЪреА рдореВрд▓рднреВрдд рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреНрд░рдгрд╛рд▓реА рдореНрд╣рдгрддрд╛рдд рдмреА-рд╡реГрдХреНрд╖. рдпрд╛ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдЖрдореНрд╣реА рдлрдХреНрдд рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░рддреЛ CREATE INDEX ON some_table (some_column), рдЖрдгрд┐ PostgreSQL рдЖрдореНрд╣реА рд╕рддрдд рдореВрд▓реНрдпреЗ рдШрд╛рд▓рдд рдЕрд╕рддрд╛рдирд╛, рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдЖрдгрд┐ рд╣рдЯрд╡рддрд╛рдирд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрджреНрдпрдпрд╛рд╡рдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдмрд░реЗрдЪ рдХрд╛рдо рдХрд░рддреЗ. рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╕реНрд╡рддрдГрдЪ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдЬрдгреВ рдЬрд╛рджреВрдиреЗ.

рдкрдг PostgreSQL рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрдирд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ - рддреА рдлреБрдЧрд╡рд▓реЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рд╕реНрдХ рдЬрд╛рдЧрд╛ рдШреНрдпрд╛ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рдЖрдгрд┐ рдЕрджреНрдпрддрдирд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдореА рдХрд░рд╛. "рдмреНрд▓реЛрдЯ" рджреНрд╡рд╛рд░реЗ рдорд╛рдЭрд╛ рдЕрд░реНрде рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдВрд░рдЪрдирд╛ рдЕрдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд░рд╛рдЦрдгреЗ рдЖрд╣реЗ. рд╣реЗ рдХрдЪрд▒реНрдпрд╛рдЪреНрдпрд╛ рдЯреНрдпреВрдкрд▓реНрд╕рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕реВ рд╢рдХрддреЗ - рдХрд┐рдВрд╡рд╛ рдирд╛рд╣реА - рддреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЗ рдкреЛрдХрд│реА (рдорд╛рд╣рд┐рддреАрдмрджреНрджрд▓ рдкреАрдЯрд░ рдЧрдЧрди рдпрд╛рдВрдЪреЗ рдЖрднрд╛рд░)рдкреАрдЯрд░ рдЬрд┐рдУрдЧреЗрдЧрди)). рдЗрдВрдбреЗрдХреНрд╕ рдмреНрд▓реЛрдЯ рд╡рд┐рд╢реЗрд╖рдд: рд╡рд░реНрдХрд▓реЛрдбрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ рдЬреЗрдереЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдмрджрд▓рдд рдЖрд╣реЗ.

PostgreSQL 12 рдмреА-рдЯреНрд░реА рдЗрдВрдбреЗрдХреНрд╕реЗрд╕рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕реБрдзрд╛рд░рддреЗ, рдЖрдгрд┐ TPC-C рд╕рд╛рд░рдЦреНрдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд╕рд╣ рдкреНрд░рдпреЛрдЧрд╛рдВрдиреА рдЕрд╕реЗ рджрд╛рдЦрд╡рд▓реЗ рдЖрд╣реЗ рдХреА рдЖрддрд╛ рд╕рд░рд╛рд╕рд░реА 40% рдХрдореА рдЬрд╛рдЧрд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рдЖрддрд╛ рдЖрдореНрд╣реА рдХреЗрд╡рд│ рдмреА-рдЯреНрд░реА рдЗрдВрдбреЗрдХреНрд╕ (рдореНрд╣рдгрдЬреЗ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рдиреНрд╕) рд░рд╛рдЦрдгреНрдпрд╛рддрдЪ рдХрдореА рд╡реЗрд│ рдШрд╛рд▓рд╡рддреЛ, рдкрд░рдВрддреБ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдд рджреЗрдЦреАрд▓ рдХрдореА рд╡реЗрд│ рдШрд╛рд▓рд╡рддреЛ, рдХрд╛рд░рдг рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЦреВрдкрдЪ рд▓рд╣рд╛рди рдЖрд╣реЗрдд.

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

рдпрд╛ рдлрд╛рдпрджреНрдпрд╛рдВрдЪрд╛ рд▓рд╛рдн рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдЕрдкрдЧреНрд░реЗрдб рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреАрдордзреНрдпреЗ рдмреА-рдЯреНрд░реА рдЗрдВрдбреЗрдХреНрд╕реЗрд╕рдЪреА рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЙрджрд╛. pg_upgrade рдЖрдкреЛрдЖрдк рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА). PostgreSQL рдЪреНрдпрд╛ рдорд╛рдЧреАрд▓ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ, рдЯреЗрдмрд▓рд╡рд░ рдореЛрдареНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрдЪреА рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдХреЗрд▓реНрдпрд╛рдиреЗ рд▓рдХреНрд╖рдгреАрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЭрд╛рд▓рд╛ рдХрд╛рд░рдг рддреНрдпрд╛рджрд░рдореНрдпрд╛рди рдмрджрд▓ рдХрд░рддрд╛ рдЖрд▓реЗ рдирд╛рд╣реАрдд. рдкрдг PostgreSQL 12 рдордзреНрдпреЗ рдЖрдгрдЦреА рдПрдХ рдЫрд╛рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ: рдЖрддрд╛ рддреБрдореНрд╣реА рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рд╕рдорд╛рдВрддрд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛. рдПрдХрд╛рдЪ рд╡реЗрд│реА рд░реАрдЗрдВрдбреЗрдХреНрд╕ рдХрд░рд╛рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдкреВрд░реНрдгрдкрдгреЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА.

PostgreSQL 12 рдордзреНрдпреЗ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреНрдпреЗ рдЗрддрд░ рд╕реБрдзрд╛рд░рдгрд╛ рдЖрд╣реЗрдд. рджреБрд╕рд░реА рдЧреЛрд╖реНрдЯ рдЬрд┐рдереЗ рдХрд╛рд╣реА рдЬрд╛рджреВ рд╣реЛрддреА - рд▓рд┐рд╣рд╛-рдкреБрдвреЗ рд▓реЙрдЧ, рдЙрд░реНрдл тАЛтАЛWAL (рд▓рд┐рд╣рд╛-рдкреБрдвреЗ рд▓реЙрдЧ). рдЕрдпрд╢рд╕реНрд╡реА рдЖрдгрд┐ рдкреНрд░рддрд┐рдХреГрддреАрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд PostgreSQL рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреА рдиреЛрдВрдж рдПрдХ рд▓реЗрдЦрди-рдкреБрдвреЗ рд▓реЙрдЧ рдХрд░рддреЗ. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреЗ рд╕рдВрдЧреНрд░рд╣рдгрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рддрд╛рдд рдЖрдгрд┐ рдкреЙрдЗрдВрдЯ-рдЗрди-рдЯрд╛рдЗрдо рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА. рдЕрд░реНрдерд╛рдд, рд░рд╛рдИрдЯ-рдЕрд╣реЗрдб рд▓реЙрдЧ рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░реВ рд╢рдХрддреЛ.

PostgreSQL 12 рдиреЗ GIS, GIN рдЖрдгрд┐ SP-GiST рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрд╛рдВрдзрдгреАрджрд░рдореНрдпрд╛рди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ WAL рд░реЗрдХреЙрд░реНрдбрдЪреЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдХрдореА рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╣реЗ рдЕрдиреЗрдХ рдореВрд░реНрдд рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ: WAL рд░реЗрдХреЙрд░реНрдб рдХрдореА рдбрд┐рд╕реНрдХ рдЬрд╛рдЧрд╛ рдШреЗрддрд╛рдд, рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЬрд▓рдж рд░рд┐рдкреНрд▓реЗ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬрд╕реЗ рдХреА рдЖрдкрддреНрддреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рдХрд┐рдВрд╡рд╛ рдкреЙрдЗрдВрдЯ-рдЗрди-рдЯрд╛рдЗрдо рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА рджрд░рдореНрдпрд╛рди. рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ ре▓рдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдЕрд╢рд╛ рдЗрдВрдбреЗрдХреНрд╕реЗрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреЛрд╕реНрдЯрдЬреАрдЖрдпрдПрд╕-рдЖрдзрд╛рд░рд┐рдд рднреВ-рд╕реНрдерд╛рдирд┐рдХ ре▓рдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЬреАрдЖрдпрдПрд╕рдЯреА рдЗрдВрдбреЗрдХреНрд╕рдЪрд╛ рднрд░рдкреВрд░ рд╡рд╛рдкрд░ рдХрд░рддрд╛рдд), рд╣реЗ рдЖрдгрдЦреА рдПрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ рдЬреЗ рддреБрдордЪреНрдпрд╛рдХрдбреВрди рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдпрддреНрди рди рдХрд░рддрд╛ рдЕрдиреБрднрд╡рд╛рдд рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░реЗрд▓.

рд╡рд┐рднрд╛рдЬрди - рдореЛрдареЗ, рдЪрд╛рдВрдЧрд▓реЗ, рдЬрд▓рдж

PostgreSQL 10 рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рднрд╛рдЬрди. PostgreSQL 11 рдордзреНрдпреЗ рддреЗ рд╡рд╛рдкрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЭрд╛рд▓реЗ рдЖрд╣реЗ. PostgreSQL 12 рдордзреНрдпреЗ рддреБрдореНрд╣реА рд╡рд┐рднрд╛рдЧрд╛рдВрдЪреЗ рд╕реНрдХреЗрд▓ рдмрджрд▓реВ рд╢рдХрддрд╛.

PostgreSQL 12 рдордзреНрдпреЗ, рд╡рд┐рднрд╛рдЬрди рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд▓рдХреНрд╖рдгреАрдпрд░рд┐рддреНрдпрд╛ рдЪрд╛рдВрдЧрд▓реЗ рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рдд: рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╣рдЬрд╛рд░реЛ рд╡рд┐рднрд╛рдЬрдиреЗ рдЕрд╕рд▓реНрдпрд╛рд╕. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдПрдЦрд╛рджреА рдХреНрд╡реЗрд░реА рд╣рдЬрд╛рд░реЛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯреЗрдмрд▓рдордзреАрд▓ рдХрд╛рд╣реА рд╡рд┐рднрд╛рдЬрдирд╛рдВрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ рддреЗ рдЕрдзрд┐рдХ рд╡реЗрдЧрд╛рдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдИрд▓. рдХреЗрд╡рд│ рдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдХреНрд╡реЗрд░реАрд╕рд╛рдареА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА. рдПрдХрд╛рдзрд┐рдХ рд╡рд┐рднрд╛рдЬрдиреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯреЗрдмрд▓рд╡рд░ INSERT рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд┐рддреА рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗрдд рд╣реЗ рджреЗрдЦреАрд▓ рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдИрд▓.

рд╡рд╛рдкрд░реВрди рдбреЗрдЯрд╛ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЙрдкреА рдХрд░рд╛ - рддрд╕реЗ, рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдгрд┐ рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ JSON рдкреНрд░рд╛рдкреНрдд рдХрд░рдд рдЖрд╣реЗ тАФ PostgreSQL 12 рдордзреАрд▓ рд╡рд┐рднрд╛рдЬрд┐рдд рддрдХреНрддреЗ рджреЗрдЦреАрд▓ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдмрдирд▓реЗ рдЖрд╣реЗрдд. рдХреЙрдкреА рд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрдзреАрдЪ рд╡реЗрдЧрд╡рд╛рди рд╣реЛрддреЗ, рдкрд░рдВрддреБ PostgreSQL 12 рдордзреНрдпреЗ рддреЗ рдкреВрд░реНрдгрдкрдгреЗ рдЙрдбрддреЗ.

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

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

рдкреНрд░рд╢реНрдирд╛рдВрд╕рд╣ рдмрд░реЗрдЪ рдЪрд╛рдВрдЧрд▓реЗ рдЭрд╛рд▓реЗ

рдЬреЗрд╡реНрд╣рд╛ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЙрдорди рдЯреЗрдмрд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдирд╕рд╛рдареА рдкреЕрдЪ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рд╣реЛрддрд╛ (рдЙрд░реНрдл CTE, рдЙрд░реНрдл тАЛтАЛрдкреНрд░рд╢реНрдирд╛рдВрд╕рд╣), рдореА рдпрд╛рдмрджреНрджрд▓ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА PostgreSQL рд╕рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╕рдХ рдХрд┐рддреА рдЖрдирдВрджреА рд╣реЛрддреЗ. рд╣реЗ рдЕрд╢рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ рдЬреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕ рдЧрддреА рджреЗрдИрд▓. рдЬреЛрдкрд░реНрдпрдВрдд, рдЕрд░реНрдерд╛рддрдЪ, рддреБрдореНрд╣реА CTE рд╡рд╛рдкрд░рддрд╛.

рдорд▓рд╛ рдЕрд╕реЗ рдЖрдврд│рддреЗ рдХреА SQL рдордзреНрдпреЗ рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрдирд╛ CTEs рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рдбрддреЗ; рдЬрд░ рддреБрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрджреНрдзрддреАрдиреЗ рд▓рд┐рд╣рд┐рдд рдЕрд╕рд╛рд▓, рддрд░ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рддреБрдореНрд╣реА рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рд╣рд┐рдд рдЖрд╣рд╛рдд. рд╡реНрдпрдХреНрддрд┐рд╢рдГ, рдорд▓рд╛ рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪрд╛ рд╢реЛрдз рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рдЖрд╡рдбрд▓реЗ рди CTE рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╡рд╛рдврд╡рд╛. рдЖрддрд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ.

PostgreSQL 12 рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕рд╢рд┐рд╡рд╛рдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪреЗ CTE рдЗрдирд▓рд╛рдЗрди рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ (SELECT), рдЬреЗ рд╡рд┐рдирдВрддреАрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдПрдХрджрд╛рдЪ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдореА рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ CTE рдкреНрд░рд╢реНрдирд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдВрдкреИрдХреА рдмрд╣реБрддреЗрдХ рдпрд╛ рд╢реНрд░реЗрдгреАрдд рдпреЗрддрд╛рдд. рд╣реЗ рд╡рд┐рдХрд╕рдХрд╛рдВрдирд╛ рд╕реНрдкрд╖реНрдЯ рдХреЛрдб рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ рдЬреЗ рдЖрддрд╛ рджреНрд░реБрддрдкрдгреЗ рдЪрд╛рд▓рддреЗ.

рд╢рд┐рд╡рд╛рдп, PostgreSQL 12 рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реАрд╣реА рди рдХрд░рддрд╛, SQL рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрд╡рддрдГрдЪ рдЕрдиреБрдХреВрд▓ рдХрд░рддреЗ. рдЖрдгрд┐ рдЬрд░реА рдорд▓рд╛ рдЖрддрд╛ рдЕрд╢рд╛ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рд▓реА рддрд░реА, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдд рдЖрд╣реЗ рд╣реЗ рдЫрд╛рди рдЖрд╣реЗ.

рдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо (JIT) - рдЖрддрд╛ рдбреАрдлреЙрд▓реНрдЯ

рд╕рдорд░реНрдердирд╛рд╕рд╣ PostgreSQL 12 рдкреНрд░рдгрд╛рд▓реАрдВрд╡рд░ рдПрд▓рдПрд▓рд╡реНрд╣реАрдПрдо рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ JIT рд╕рдВрдХрд▓рди рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╕рд░реНрд╡ рдкреНрд░рдердо, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рдорд░реНрдерди рдорд┐рд│реЗрд▓ JIT рдХрд╛рд╣реА рдЕрдВрддрд░реНрдЧрдд рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА, рдЖрдгрд┐ рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдирд┐рд╡рдбрдХ рдпрд╛рджреНрдпрд╛рдВрдордзреАрд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддреА (рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреЗ рдЙрджрд╛рд╣рд░рдг x + y) рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреНрд╡реЗрд░реА (рдЬреЗ рддреБрдордЪреНрдпрд╛рдХрдбреЗ SELECT рдирдВрддрд░ рдЖрд╣реЗ), рдПрдХрддреНрд░рд┐рдд, рд╡реНрд╣реЗрдЕрд░ рдХреНрд▓реЙрдЬрд╕рд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрдгрд┐ рдЗрддрд░ рдХрд╛рдордЧрд┐рд░реА рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА JIT рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд.

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

PostgreSQL 12 рдордзреАрд▓ рдЙрд░реНрд╡рд░рд┐рдд рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреЗ рдХрд╛рдп?

PostgreSQL 12 рдордзреНрдпреЗ рдПрдХ рдЯрди рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд, рдорд╛рдирдХ SQL/JSON рдорд╛рд░реНрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡рд╛рдкрд░реВрди JSON рдбреЗрдЯрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдкрд╛рд╕реВрди рддреЗ рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╣ рдмрд╣реБ-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдкрд░реНрдпрдВрдд clientcert=verify-full, рд╕реНрддрдВрдн рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рддрдпрд╛рд░ рдХреЗрд▓реЗ. рд╡реЗрдЧрд│реНрдпрд╛ рдкреЛрд╕реНрдЯрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.

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

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

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