PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕

рд╕рднреА рдХрд╛ рд╢реБрдХреНрд░рд╡рд╛рд░ рдордВрдЧрд▓рдордп рд╣реЛ! рдкрд╛рдареНрдпрдХреНрд░рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╕рдордп рдмрдЪрд╛ рд╣реИ "рд░рд┐рд▓реЗрд╢рдирд▓ рдбреАрдмреАрдПрдордПрд╕", рдЗрд╕рд▓рд┐рдП рдЖрдЬ рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд┐рдХрд╛рд╕ рдореЗрдВ PostgreSQL 11 рдЯреЗрдмрд▓ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХрд╛рд░реНрдп рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╡рд┐рднрд╛рдЬрди рддрд╛рд▓рд┐рдХрд╛рдПрдБ - рдпрд╣ рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ PostgreSQL рдореЗрдВ рдореМрдЬреВрдж рдерд╛, рд▓реЗрдХрд┐рди, рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 10 рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдлрд╝рдВрдХреНрд╢рди рдмрди рдЧрдпрд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЯреЗрдмрд▓ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдФрд░ рдпрд╣ рд╕рдЪ рд╣реИред рдХреЗрд╡рд▓ рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рдЖрдкрдХреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ INSERTs рдХреЗ рджреМрд░рд╛рди рдЯреБрдкрд▓реНрд╕ рдХреЛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдП, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛ рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдерд╛ред

PostgreSQL 10 рдореЗрдВ, рд╣рдордиреЗ "рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рднрд╛рдЬрди" рдХрд╛ рдЬрдиреНрдо рджреЗрдЦрд╛, рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдЬрд┐рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдкреБрд░рд╛рдиреА рд╡рд┐рд░рд╛рд╕рдд рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рдереАрдВред рдЗрд╕рд╕реЗ рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рддреИрдпрд╛рд░ рд╣реБрдЖ рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА!

рдлрд╝реАрдЪрд░ рддреБрд▓рдирд╛

PostgreSQL 11 рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╕реЗрдЯ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдФрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢реА рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕
PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕
PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕
1. рд╕реАрдорд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
2. рдХреЗрд╡рд▓ рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
3. рдХреЗрд╡рд▓ рдПрдХ рдЧреИрд░-рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП
4. рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рднреА рдкреНрд░рдореБрдЦ рдХреЙрд▓рдо рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
5. рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдкреНрд░рддрд┐рдмрдВрдз рдореЗрд▓ рдЦрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП

рдирд┐рд╖реНрдкрд╛рджрди

рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рднреА рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рдирдИ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реА рдЧрдИ рдЕрдиреБрднрд╛рдЧ рд╣рдЯрд╛рдирд╛. рдпрд╣ рдирдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреНрд╡реЗрд░реА рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрдХрд░ рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрднрд╛рдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ WHERE. рдкрд┐рдЫрд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдмрджрд▓реЗ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ WHERE. рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдиреЗ рд╕реЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реГрджреНрдзрд┐ рд╣реБрдИред

9.6 рдореЗрдВ, рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде, рдЯреБрдкрд▓реНрд╕ рдХреЛ рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдореЗрдВ рд░реВрдЯ рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдЯреБрдкрд▓ рдХреЛ рд╕рд╣реА рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП IF рдХрдердиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрддреА рдереАред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 10 рдореЗрдВ рдШреЛрд╖рд┐рдд рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

100 рд╡рд┐рднрд╛рдЬрдиреЛрдВ рд╡рд╛рд▓реА рдПрдХ рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо 10 BIGINT рдХреЙрд▓рдо рдФрд░ 1 INT рдХреЙрд▓рдо рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 5 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕

рдПрдХ рдЕрдиреБрдХреНрд░рдорд┐рдд рд░рд┐рдХреЙрд░реНрдб рдвреВрдВрдврдиреЗ рдФрд░ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрдордПрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди (рдХреЗрд╡рд▓ 1 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ):

PostgreSQL 11: Postgres 9.6 рд╕реЗ Postgres 11 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╡рд┐рдХрд╛рд╕

рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреАрдЬреА 9.6 рдХреЗ рдмрд╛рдж рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдлреА рдмрдврд╝ рдЧрдпрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз SELECT рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реЗ рдЬреЛ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХреЗ рджреМрд░рд╛рди рдПрдХрд╛рдзрд┐рдХ рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рдкрд╣рд▓реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рдирд╣реАрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ.

рдирд┐рд╖реНрдХрд░реНрд╖

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

рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд▓реЗрдХрд┐рди рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд╣реИред рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рд╕рд╛рдЗрди рдЕрдк рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ рдЦреБрд▓рд╛ рджрд┐рди, рдЬрд┐рд╕рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд░реВрдкрд░реЗрдЦрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдИ рдЬрд╛рдПрдЧреАред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ