"рдкреНрд░реЛ, рддрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрдЗрди" рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдЖрдпрд╛рддрд┐рдд DBMS рдХрд╕рд░реА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдпреМрдВ

"рдкреНрд░реЛ, рддрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрдЗрди" рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдЖрдпрд╛рддрд┐рдд DBMS рдХрд╕рд░реА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдпреМрдВ
(ts) Yandex.Images

рд╕рдмреИ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣реБрдиреН, рдЯреНрд░реЗрдбрдорд╛рд░реНрдХрд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдорд╛рд▓рд┐рдХрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреН, рдХреБрдиреИ рд╕рдорд╛рдирддрд╛рд╣рд░реВ рдЕрдирд┐рдпрдорд┐рдд рдЫрдиреН рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпреЛ рдореЗрд░реЛ "рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореВрд▓реНрдп рдирд┐рд░реНрдгрдп рд╣реЛ, рдХреГрдкрдпрд╛ рдвреЛрдХрд╛ рдирддреЛрдбреНрдиреБрд╣реЛрд╕реН ..."ред

рд╣рд╛рдореАрд╕рдБрдЧ рддрд░реНрдХрд╕рдВрдЧрдд рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓рд╛рдИ рдПрдХ DBMS рдмрд╛рдЯ рдЕрд░реНрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрднрд╡ рдЫред рдиреЛрднреЗрдореНрдмрд░ 1236, 16.11.2016 рдХреЛ рд╕рд░рдХрд╛рд░реА рдбрд┐рдХреНрд░реА рдирдореНрдмрд░ XNUMX рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛, рдпреЛ рдкреНрд░рд╛рдп: Oracle рдмрд╛рдЯ Postgresql рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд╣реЛред рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╕рд░реА рд╕рдореНрднрд╡ рднрдПрд╕рдореНрдо рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд░ рдкреАрдбрд╛рд░рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдЫреБрдЯреНрдЯреИ рдмрддрд╛рдЙрди рд╕рдХреНрдЫреМрдВ; рдЖрдЬ рд╣рд╛рдореА рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдЬрдЯрд┐рд▓ рддрд░реНрдХрдХреЛ рд╕рд╛рде рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛ рдХреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╕реНрдкреЛрдЗрд▓рд░ - рд╣реЛ, рдХреНрдпрд╛рдк, рдЖрд░рдПрд╕реА рд░ рдкреАрдЬреА рдорд▓реНрдЯрд┐рдорд╛рд╕реНрдЯрд░ рдзреЗрд░реИ рдлрд░рдХ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╣реБрдиреНред

рдорд╛рдиреМрдВ рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕рдмреИ рддрд░реНрдХрд╣рд░реВ plsql рдмрд╛рдЯ pgsql рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рд╕рдХреНрдиреБрднрдПрдХреЛ рдЫред рд░ рддрдкрд╛рдЗрдБрдХреЛ рд░рд┐рдЧреНрд░реЗрд╕рди рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдПрдХрджрдо рдареАрдХ рдЫ, рдЕрдм рдкрдХреНрдХреИ рдкрдирд┐ рддрдкрд╛рдЗрдБ рд╕реНрдХреЗрд▓рд┐рдВрдЧрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реЛрдЪреНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рдХрд┐рдирднрдиреЗ ... рд▓реЛрдб рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдзреЗрд░реИ рдЦреБрд╕реА рдмрдирд╛рдЙрдБрджреИрди, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдорд╛ рдЬреБрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдореВрд▓ рд░реВрдкрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рддреНрдпреЛ рдзреЗрд░реИ рдлрд░рдХ DBMS рдХреЛ рд▓рд╛рдЧрд┐ред рдорд╛рдиреМрдВ рддрдкрд╛рдИрд▓реЗ рдШрд░реЗрд▓реБ рд╡рд┐рдХреНрд░реЗрддрд╛ "рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдкреНрд░реЛрдлреЗрд╢рдирд▓" рдмрд╛рдЯ "рдорд▓реНрдЯреАрдорд╛рд╕реНрдЯрд░" рдирд╛рдордХ рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрднрдпреЛ, рдЬреБрди "рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдкреНрд░реЛ рдЗрдиреНрдЯрд░рдкреНрд░рд╛рдЗрдЬ" рдХреЛ "рдЕрдзрд┐рдХрддрдо" рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдорд╛рддреНрд░ рдЙрдкрд▓рдмреНрдз рдЫ рд░ рд╡рд░реНрдгрди рдЕрдиреБрд╕рд╛рд░ - рдпреЛ рдХреЗрд╕рдБрдЧ рдзреЗрд░реИ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫред рддрдкрд╛рдИрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреНрдЫ, рд░ рдкрд╣рд┐рд▓реЛ рд╕рддрд╣реА рдЕрдзреНрдпрдпрдирдХреЛ рд╕рд╛рде рдореЗрд░реЛ рджрд┐рдорд╛рдЧрдорд╛ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдЖрдпреЛ: "рдУрд╣! RAC рдХреЛ рд╕рдЯреНрдЯрд╛ рдпреЛ рд╣реЛ! рд░ рд╣рд╛рдореНрд░реЛ рдорд╛рддреГрднреВрдорд┐рдорд╛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХреЛ рд╕рд╛рде рдкрдирд┐! тАЭ

рддрд░ рд░рдорд╛рдЗрд▓реЛ рдЧрд░реНрди рд╣рддрд╛рд░ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рдердк рд╣рд╛рдореА рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреМрдВ рдХрд┐рди рддрдкрд╛рдИрдВрд▓реЗ рдпреА рдмрд╛рд░реАрдХрддрд╛рд╣рд░реВ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдХрд┐рдирднрдиреЗ ... рдЙрддреНрдкрд╛рджрди рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд░рд╛рдореНрд░рд░реА рдкрдвреЗрдкрдЫрд┐ рдкрдирд┐ рддрд┐рдиреАрд╣рд░реВ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫрдиреНред рддрдкрд╛рдИрдВ рдЙрддреНрдкрд╛рджрди рд╕рд╛рдЗрдЯрдорд╛ рд╕реАрдзрд╛ DBMS рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдмрд╛рд░рдореНрдмрд╛рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рддрдпрд╛рд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рднрдиреЗрд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдХрд┐рдирднрдиреЗ рдХреЗрд╣реА рджреЛрд╖рд╣рд░реВ рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░рдпреЛрдЧрд╕рдБрдЧ рдорд┐рд▓реНрджреЛ рдЫреИрдирдиреН рд░ рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫред
рдирд┐рд░реНрдорд╛рддрд╛рдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рд░рд╣реЗрдХреЛ "рдорд▓реНрдЯреАрдорд╛рд╕реНрдЯрд░" - "рд╕реАрдорд╛рд╣рд░реВ" рдЦрдгреНрдбрд▓рд╛рдИ рдзреНрдпрд╛рдирдкреВрд░реНрд╡рдХ рдкрдвреЗрд░ рд╕реБрд░реВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рднрдиреЗрдХреЛ рд▓реЗрдирджреЗрдирд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛред "рджреБрдИ-рдЪрд░рдг" рдореЛрдб, рд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд╕рдореНрдкреВрд░реНрдг рддрд░реНрдХ рдкреБрди: рд▓реЗрдЦреЗрд░ рдмрд╛рд╣реЗрдХ рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрдиреЗ рдХреБрдиреИ рддрд░рд┐рдХрд╛ рдЫреИрдиред рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реЛ:

create table test1 (id integer, id1 integer);
insert into test1 values (1, 1),(1, 2);
 
ALTER TABLE test1 ADD CONSTRAINT test1_uk UNIQUE (id,id1) DEFERRABLE INITIALLY DEFERRED;
 
update test1
           set id1 =
               case id1
                 when 1
                 then 2
                 else id1 - sign(2 - 1)
               end
         where id1 between 1 and 2;

рдПрдЙрдЯрд╛ рддреНрд░реБрдЯрд┐ рд╣реБрдиреНрдЫ:

╨Ю╨и╨Ш╨С╨Ъ╨Р:  [MTM] Transaction MTM-1-2435-10-605783555137701 (10654) is aborted on node 3. Check its log to see error details.

рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ 10.5, 10.6 рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдбреЗрдб рд▓рдХрд╕рдБрдЧ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рд▓рдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕рдореНрдкреВрд░реНрдг рд╕рд╛рд░рд▓рд╛рдИ рдорд╛рд░реНрдиреЗ рдПрдХ рдорд╛рддреНрд░ рдЬреНрдЮрд╛рдд рд╕рдорд╛рдзрд╛рди рдХреНрд▓рд╕реНрдЯрд░рдмрд╛рдЯ "рд╕рдорд╕реНрдпрд╛" рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рд╣рдЯрд╛рдЙрдиреБ рд╣реЛ, рдЕрд░реНрдерд╛рддреНред make_table_local рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддрд░ рдпрд╕рд▓реЗ рдХрдореНрддрд┐рдорд╛ рдпрд╕рд▓рд╛рдИ рдХрд╛рдо рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ, рд░ рд▓реЗрдирджреЗрди рдХрдорд┐рдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрд┐рд░рд╣реЗрдХреЛ рд╣реНрдпрд╛рдЩреНрдЧрд┐рдЩрдХреЛ рдХрд╛рд░рдгрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рд╣реЛрд▓реНрдбрдорд╛ рд░рд╛рдЦреНрдиреЗ рдЫреИрдиред рдареАрдХ рдЫ, рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг 11.2 рдорд╛ рдЕрдкрдбреЗрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕рд▓реЗ рдорджреНрджрдд рдЧрд░реНрдиреБрдкрд░реНрдЫ, рддрд░ рд╣реБрдирд╕рдХреНрджреИрди, рдЬрд╛рдБрдЪ рдЧрд░реНрди рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реНред

рдХреЗрд╣рд┐ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рддрдкрд╛рдЗрдБ рдЕрдЭ рд░рд╣рд╕реНрдпрдордп рд▓рдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

username= mtm ╨╕ backend_type = background worker

рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХреЗрд╡рд▓ 11.2 рд░ рдЙрдЪреНрдЪ рдорд╛ DBMS рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдЧрд░реНрдирд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ, рд╡рд╛ рд╣реБрдирд╕рдХреНрдЫ рдпрд╕рд▓реЗ рдорджреНрджрдд рдЧрд░реНрджреИрдиред

рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рдХреЛ рд╕рд╛рде рдХреЗрд╣реА рдЕрдкрд░реЗрд╢рдирд╣рд░реВрд▓реЗ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрди рд╕рдХреНрдЫ, рдЬрд╕рд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреГрддрд┐рдорд╛ рдЫ; рддрдкрд╛рдИрдВрд▓реЗ рд╕реАрдзреИ MTM рд▓рдЧрд╣рд░реВрдорд╛ BDR рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫред рдпреЛ рд╕рд╛рдБрдЪреНрдЪреИ 2ndQuadrant? рд╣реЛрдЗрди... рд╣рд╛рдореАрд▓реЗ рдорд▓реНрдЯрд┐рдорд╛рд╕реНрдЯрд░ рдХрд┐рдиреЗрдХрд╛ рдЫреМрдВ, рдпреЛ рд╕рдВрдпреЛрдЧ рдорд╛рддреНрд░ рд╣реЛ, рдпреЛ рдкреНрд░рд╡рд┐рдзрд┐рдХреЛ рдирд╛рдо рд╣реЛред

[MTM] bdr doesn't support index rechecks
[MTM] 12124: REMOTE begin abort transaction 4083
[MTM] 12124: send ABORT notification for transaction  (5467) local xid=4083 to coordinator 3
[MTM] Receive ABORT_PREPARED logical message for transaction MTM-3-25030-83-605694076627780 from node 3
[MTM] Abort prepared transaction MTM-3-25030-83-605694076627780 status InProgress from node 3 originId=3
[MTM] MtmLogAbortLogicalMessage node=3 transaction=MTM-3-25030-83-605694076627780 lsn=9fff448 

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдЖрд╢реНрд╡рд╛рд╕рдирд╣рд░реВрдХреЛ рдмрд╛рд╡рдЬреБрдж: "рдорд▓реНрдЯреАрдорд╛рд╕реНрдЯрд░ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рдирд▓реЗ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред рддрдкрд╛рдЗрдБ рдПрдХреИ рд╕рд╛рде рд▓реЗрдЦрди рд▓реЗрдирджреЗрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рдХреБрдиреИ рдкрдирд┐ рдиреЛрдбрдорд╛ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред"

рддреНрдпрд╕реЛрднрдП рд╡рд╛рд╕реНрддрд╡рдорд╛ рддрдкрд╛рдИрд▓реЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрди, рдпрджрд┐ рдХреЛрдбрд▓реЗ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рд░ multimaster.remote_functions рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдкрдирд┐ рдорджреНрджрдд рдЧрд░реНрджреИрди, рддрдкрд╛рдИрд▓реЗ рдЖрдлреНрдиреЛ рддрд░реНрдХрд▓рд╛рдИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╡рд╛ рдкреБрди: рд▓реЗрдЦреНрдиреБрдкрд░реНрдиреЗрдЫред рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдкреНрд░реЛ рдЗрдиреНрдЯрд░рдкреНрд░рд╛рдЗрдЬ v 10.5 рднрд┐рддреНрд░ рджреБрдИрд╡рдЯрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдорд▓реНрдЯрд┐рдорд╛рд╕реНрдЯрд░ рд░ pg_pathman рдПрдХ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд╕рд╛рде рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

CREATE TABLE measurement (
    city_id         int not null,
    logdate         date not null,
    peaktemp        int,
    unitsales       int
) PARTITION BY RANGE (logdate);

CREATE TABLE measurement_y2019m06 PARTITION OF measurement FOR VALUES FROM ('2019-06-01') TO ('2019-07-01');
insert into measurement values (1, to_date('27.06.2019', 'dd.mm.yyyy'), 1, 1);
insert into measurement values (2, to_date('28.06.2019', 'dd.mm.yyyy'), 1, 1);
insert into measurement values (3, to_date('29.06.2019', 'dd.mm.yyyy'), 1, 1);
insert into measurement values (4, to_date('30.06.2019', 'dd.mm.yyyy'), 1, 1);

рдирд┐рдореНрди рддреНрд░реБрдЯрд┐рд╣рд░реВ DBMS рдиреЛрдбрд╣рд░реВрдорд╛ рд▓рдЧрд╣рд░реВрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрди рдерд╛рд▓реНрдЫрдиреН:

тАж
 PATHMAN_CONFIG doesn't contain relation 23245
> find_in_dynamic_libpath: trying "/opt/тАж/ent-10/lib/pg_pathman"
> find_in_dynamic_libpath: trying "/opt//тАж/ent-10/lib/pg_pathman.so"
> ╨Ю╨в╨Ы╨Р╨Ф╨Ъ╨Р:  find_in_dynamic_libpath: trying "/opt/тАж/ent-10/lib/pg_pathman"
> find_in_dynamic_libpath: trying "/opt/тАж/ent-10/lib/pg_pathman.so"
> PrepareTransaction(1) name: unnamed; blockState: PREPARE; state: INPROGR, xid/subid/cid: 6919/1/40
> StartTransaction(1) name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0
> switched to timeline 1 valid until 0/0
тАж
Transaction MTM-1-13604-7-612438856339841 (6919) is aborted on node 2. Check its log to see error details.
...
[MTM] 28295: REMOTE begin abort transaction 7017
тАж
[MTM] 28295: send ABORT notification for transaction  (6919) local xid=7017 to coordinator 1

рддрдкрд╛рдЗрдБ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╕рдорд░реНрдердирдорд╛ рдпреА рддреНрд░реБрдЯрд┐рд╣рд░реВ рдХреЗ рд╣реЛ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рдмреЗрдХрд╛рд░ рдЫреИрди рдХрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдХрд┐рдиреНрдиреБ рднрдпреЛред

рдХреЗ рдЧрд░реНрдиреЗ? рд╕рд╣рд┐ ! "Postgres Pro Enterprise" v 11.2 рдорд╛ рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЕрд▓рдЧ рд░реВрдкрдорд╛, рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдЕрдиреБрдХреНрд░рдо, рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдбрд╛рдЯрд╛рдмреЗрд╕ рдХреЛ рдПрдХ рд╡рд╕реНрддреБ рднрдПрдХреЛрд▓реЗ, рдХреНрд▓рд╕реНрдЯрд░ рдорд╛ рдЕрдиреНрдд рджреЗрдЦрд┐ рдЕрдиреНрдд рдорд╛рди рдЫреИрди, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛ рд▓рд╛рдЧреА рд╕реНрдерд╛рдиреАрдп рдЫ рд░ рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдЕрджреНрд╡рд┐рддреАрдп рдкреНрд░рддрд┐рдмрдиреНрдз рд░ рдкреНрд░рдпреЛрдЧ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдЫ рднрдиреЗ, рддреНрдпрд╕реЛрднрдП рддрдкрд╛рдИрд▓реЗ рдХреЗрд╡рд▓ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдиреЛрдб рдирдореНрдмрд░рдХреЛ рдмрд░рд╛рдмрд░ рд╡реГрджреНрдзрд┐ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдХрд┐рдирднрдиреЗ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╕рдХреЗрд╕рдореНрдо рдзреЗрд░реИ рдиреЛрдбрд╣рд░реВ, рдЕрдиреБрдХреНрд░рдо рд░ int рддрдкрд╛рдИрдВрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗрднрдиреНрджрд╛ рдЫрд┐рдЯреЛ рдмрдвреНрдиреЗрдЫред рдЙрддреНрдкрд╛рджрдирдорд╛ рдЕрдиреБрдХреНрд░рдорд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рд░рд▓ рдмрдирд╛рдЙрди рддрдкрд╛рдИрдВрд▓реЗ alter_sequences рдкреНрд░рдХрд╛рд░реНрдп рдкрдирд┐ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реБрдиреЗрдЫ, рдЬрд╕рд▓реЗ рд╕рдмреИ рдиреЛрдбрд╣рд░реВрдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдХреНрд░рдордХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд╡реГрджреНрдзрд┐рд╣рд░реВ рдЧрд░реНрдиреЗрдЫ, рддрд░ рддрдпрд╛рд░ рд░рд╣рдиреБрд╣реЛрд╕реН рдХрд┐ рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рд╕рдмреИ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрджреИрдиред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЖрдлреИрд▓реЗ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ github рдмрд╛рдЯ рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд╛ DBMS рдорд╛ рд╕рд┐рдзреИ рдпрд╕рд▓рд╛рдИ рд╕реБрдзрд╛рд░реНрдиреБрд╣реЛрд╕реНред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, serialbigserial рдкреНрд░рдХрд╛рд░рдХрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрд▓реЗ рдЕрдЭ рд╕рд╣реА рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫ, рддрд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди, рдкреНрд░рд╛рдп: рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдХреЛрдб рдкреБрди: рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред рд╕рд╛рдпрдж рдХрд╕реИрд▓реЗ monotonic_sequences рдкреНрд░рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧреА рдкрд╛рдЙрдиреБрд╣реБрдиреЗрдЫред

Postgres Pro Enterprise рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 11.2 рдЕрдШрд┐, рдкреНрд░рддрд┐рдХреГрддрд┐рд▓реЗ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫ рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдЕрджреНрд╡рд┐рддреАрдп рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЫрдиреН, рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрд╛ рдпрд╕рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред

рдЕрд▓рдЧ рд░реВрдкрдорд╛, рдо npgsql рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕рдорд╛рдзрд╛рдирдорд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ; рдпреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдПрдХрд▓ рдиреЛрдбрдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдБрджреИрдирдиреН, рддрд░ рдорд▓реНрдЯрд┐рдорд╛рд╕реНрдЯрд░рдорд╛ рдзреЗрд░реИ рдЙрдкрд╕реНрдерд┐рдд рд╣реБрдиреНрдЫрдиреНред
рдХреЗрд╣реА рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рддреНрд░реБрдЯрд┐ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

Exception Details: Npgsql.PostgresException: 25001: ╨║╨╛╨╝╨░╨╜╨┤╨░ SET TRANSACTION ISOLATION LEVEL 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

рдХреЗ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ? рддрдкрд╛рдИрд▓реЗ рдХреЗрд╣рд┐ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрджреИрдиред рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЪрд┐рдиреНрдиреБрдкрд░реНрдЫ, рдХрд┐рдирднрдиреЗ... рддреНрд░реБрдЯрд┐ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрджрдЫ, рд░ рдпрд╕рдХреЛ рдкрд╣рд┐рд▓реЛ рд╕рдорд╛рдзрд╛рди рдкрдЫрд┐ рдкрдирд┐, рддрдкрд╛рдИрдВрд▓реЗ рдкрдЫрд┐ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрдВ рдкрдирд┐ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рд╣реБрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд░ рд╕рдмреИ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ DBMS рджреЛрд╖рд╣рд░реВ рдврд╛рдХреНрдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдЫ рдЬреБрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдЧреНрд░реЗрд╕рди рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд╛рддрд╛рджреНрд╡рд╛рд░рд╛ рд╕рдЪреНрдпрд╛рдЗрдиреНрдЫред рддреНрдпрд╕реИрд▓реЗ рдмреЛрд▓реНрдиреБрд╣реЛрд╕реН, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓реЗ npgsql рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ рд░ рдиреЛрдбрд╣рд░реВ рдмреАрдЪрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рдЙрд╕реНрддреИ рдЫрдиреН рднрдиреНрдиреЗ рд╕реЛрдЪреЗрд░, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рддреНрд░реБрдЯрд┐ рдкрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

EXCEPTION:Npgsql.PostgresException (0x80004005): XX000: cache lookup failed for type ...

рдпреЛ рддреНрд░реБрдЯрд┐ рджреЗрдЦрд╛ рдкрд░реНрдиреЗрдЫ рдХрд┐рдирднрдиреЗ рдмрд╛рдЗрдиреНрдбрд┐рдЩ рдкреНрд░рдЧрддрд┐рдорд╛ рдЫ

(NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite_type");) 

рд╕рдмреИ рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдорд╛ рд╕рдордЧреНрд░ рдкреНрд░рдХрд╛рд░рд╣рд░реВред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдиреЛрдбрдмрд╛рдЯ рдПрдХ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд╛рдЙрдБрдЫреМрдВ, рд░ рдЕрд░реНрдХреЛ рдиреЛрдбрдорд╛ рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрд╛, рдпреЛ рдореЗрд▓ рдЦрд╛рдБрджреИрди, рдЬрд╕рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡рд░реВрдк рддреНрд░реБрдЯрд┐ рдлрд┐рд░реНрддрд╛ рд╣реБрдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдХрдореНрдкреЛрдЬрд┐рдЯ рдкреНрд░рдХрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреБ рдХреЗрд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ-рд╕рд╛рдЗрдб рдкреБрди:рд▓реЗрдЦрди рдмрд┐рдирд╛ рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫреИрди (рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рддреНрдпрд╕реЛ рдЧрд░реНрди рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ)ред

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

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

select mtm.collect_cluster_info();
╨╜╨░ ╨║╨░╨╢╨┤╨╛╨╣ ╨╜╨╛╨┤╨╡ ╨▓╤Л╨┤╨░╨╡╤В ╨╛╨┤╨╕╨╜╨░╨║╨╛╨▓╤Л╨╣ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В:
(1,Online,0,0,0,2,3,0,0,0,1,0,0,1,1,3,7,0,0,0,"2018-10-31 05:33:06")
(2,Online,0,0,0,2,3,0,0,0,1,0,0,1,1,3,7,0,0,0,"2018-10-31 05:33:06")
(3,Online,0,0,0,2,3,0,0,0,1,0,0,1,1,3,7,0,0,0,"2018-10-31 05:33:09")

рддрд░ рдХрд┐рди LiveNodes рдлрд┐рд▓реНрдбрд▓реЗ рдЬрддрд╛рддрддреИ рдирдореНрдмрд░ 2 рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдпрджреНрдпрдкрд┐ рдорд▓реНрдЯрд┐рдорд╛рд╕реНрдЯрд░рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╡рд┐рд╡рд░рдг рдЕрдиреБрд╕рд╛рд░ рдпреЛ AllNodes=3 рдирдореНрдмрд░рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ? рдЬрд╡рд╛рдл: рддрдкрд╛рдИрдВрд▓реЗ DBMS рд╕рдВрд╕реНрдХрд░рдг рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рд░ рд╕рдмреИ рдиреЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рдЧрд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рддрдпрд╛рд░ рд╣реБрдиреБрд╣реЛрд╕реН, рдХрд┐рдирднрдиреЗ... рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫ "рддреНрд░реБрдЯрд┐ рдЕрд░реНрдХреЛ рдиреЛрдбрдХреЛ рд▓рдЧрдорд╛ рдЫред" рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╕рдорд░реНрдердирд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреБрднрдПрдХрд╛ рд╕рдмреИ рджреЛрд╖рд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗрдЫ рд░ рдЕрд░реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рддрдпрд╛рд░ рдЫ рднрдиреА рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реВрдЪрд┐рдд рдЧрд░реНрдиреЗрдЫ, рдЬреБрди рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╕реЗрд╡рд╛ рдмрдиреНрдж рднрдПрдкрдЫрд┐, рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо (рддрдкрд╛рдИрдВрдХреЛ DBMS рдХреЛ рдЖрдХрд╛рд░рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИ) рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫред рддрдкрд╛рдИрд▓реЗ рдЖрд╢рд╛ рдЧрд░реНрдиреБрд╣реБрдБрджреИрди рдХрд┐ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдорд╕реНрдпрд╛рд╣рд░реВрд▓реЗ рд╡рд┐рдХреНрд░реЗрддрд╛рд▓рд╛рдИ рдзреЗрд░реИ рдмрд╛рдзрд╛ рдкреБрд░реНтАНрдпрд╛рдЙрдиреЗрдЫ, рд░ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рд╡рд┐рдХреНрд░реЗрддрд╛рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рд╣рд░реВрдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛рдорд╛ рдЕрдкрдбреЗрдЯ рдЧрд░рд┐рдиреЗрдЫ, рд╡рд╛ рдмрд░реБ, рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рдХреНрд░реЗрддрд╛рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рд╣рд░реВрд▓рд╛рдИ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди, рдХрд┐рдирдХрд┐ рдЕрдиреНрддрдорд╛ рддрдкрд╛рдИрд▓реЗ рдмреНрдпрд╛рдХрдЕрдк рдмрд┐рдирд╛ рдЙрддреНрдкрд╛рджрдирдорд╛ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓ рдЧрд░рд┐рдПрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╡рд╛рд╕реНрддрд╡рдорд╛, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рдЗрдЬрд╛рдЬрддрдкрддреНрд░рдорд╛, рдирд┐рд░реНрдорд╛рддрд╛рд▓реЗ рдЗрдорд╛рдирджрд╛рд░реАрдкреВрд░реНрд╡рдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреНрдЫ: "рдпреЛ рд╕рдлреНрдЯрд╡реЗрдпрд░ "рдЬрд╕реНрддреЛ рдЫ" рдЖрдзрд╛рд░рдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ Postgres Professional Limited Liability Company рдорд░реНрдордд, рд╕рдорд░реНрдерди, рдЕрдкрдбреЗрдЯ, рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдмрд╛рдзреНрдп рдЫреИрдиред

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рд╣рд╛рдореАрд▓реЗ рдХреБрди рдЙрддреНрдкрд╛рджрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ рднрдиреЗрд░ рдЕрдиреБрдорд╛рди рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫреИрди рднрдиреЗ, рдпреЛ рд╕рдмреИ рдЕрдиреБрднрд╡ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдкреНрд░реЛ рдЗрдиреНрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╡рд░реНрд╖-рд▓рд╛рдореЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдкрд░рд┐рдгрд╛рдордХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╛рдкреНрдд рднрдПрдХреЛ рдерд┐рдпреЛред рддрдкрд╛рдИрдВ рдЖрдлреНрдиреИ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рдпрддрд┐ рдирдо рдЫ рдХрд┐ рдЪреНрдпрд╛рдЙ рдмрдвреНрдЫред

рддрд░ рдпрд╕рд▓рд╛рдИ рд╕рдордпрдореИ рдЧрд░рд┐рджрд┐рдиреЗ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рд╣рдЯрд╛рдЙрдиреЗ рд╣реЛ рднрдиреЗ рдпреЛ рддреНрдпрддрд┐ рдирд░рд╛рдореНрд░реЛ рд╣реБрдиреЗ рдерд┐рдПрди ред

рддрд░ рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫреИрдиред рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ рдмрдЧрд╣рд░реВ рд╣рдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдорд╛рддрд╛рд╕рдБрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрд░реЛрддрд╣рд░реВ рдЫреИрдирдиреНред

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рдХреЗ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рд╡рд┐рджреЗрд╢реА/рд╕реНрд╡рд╛рдорд┐рддреНрд╡ DBMS рдмрд╛рдЯ рдирд┐:рд╢реБрд▓реНрдХ/рдШрд░реЗрд▓реБрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗ рдЕрдиреБрднрд╡ рдЫ?

  • 21,3%рд╣реЛ, рд╕рдХрд╛рд░рд╛рддреНрдордХ резреж

  • 10,6%рд╣реЛ, рдирдХрд╛рд░рд╛рддреНрдордХ рел

  • 21,3%рд╣реЛрдЗрди, DBMS рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдПрди10

  • 4,3%DBMS рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдХреЗрд╣рд┐ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫреИрди

  • 42,6%рдирддрд┐рдЬрд╛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН20

47 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 12 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди