PostgreSQL рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ

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

PostgreSQL рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ

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

рдорд▓рд╛ рддреНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ?

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

рддрдбрдЬреЛрдб рднреЗрдЯрд╛

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

рдЯреНрд░реЗрдбрдСрдл 1: рдХрд╛рдордЧрд┐рд░реА

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

рдЯреНрд░реЗрдбрдСрдл 2: рд╕реБрд╕рдВрдЧрддрддрд╛

рдпрд╛ рджреЛрди рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рдиреЗрддрд╛ рдЕрдкрдпрд╢реА рдард░рд▓реНрдпрд╛рд╕ рддреНрдпрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдорд╣реА рд╡реЗрдЧрд│реЗ рдЕрд╕рддреАрд▓. рдХрд╛рдо рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕рдкрдгреЗ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЕрд╢реА рддреНрд░реБрдЯреА рдЖрдврд│рд▓реНрдпрд╛рд╕, рд╕рд░реНрд╡ рдиреЛрдВрджреА рдкреНрд░рддрд┐рдХреГрддреАрдВрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд. рдХрд┐рддреА рдиреБрдХрд╕рд╛рди рд╣реЛрдИрд▓? рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╡рд░ рдЖрдгрд┐ рдкреНрд░рддрд┐рдХреГрддреАрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдкреНрд░рддрд┐рдХреГрддреА рддрдпрд╛рд░ рдХрд░рдгреЗ рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреАрд▓рд╛ рд▓реАрдбрд░ рд╣реЛрдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рдЬрд░ рддреНрдпрд╛рддреАрд▓ рдорд╛рд╣рд┐рддреАрдЪреЗ рдкреНрд░рдорд╛рдг рд▓реАрдбрд░рдкреЗрдХреНрд╖рд╛ 1 MB рдХрдореА рдЕрд╕реЗрд▓, рдореНрд╣рдгрдЬреЗрдЪ, рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди 1 MB рдкрд░реНрдпрдВрдд рд░реЗрдХреЙрд░реНрдб рд╕рдВрднрд╛рд╡реНрдпрддрдГ рдЧрдорд╛рд╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

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

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

рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж 3: рдХреНрд░реЕрд╢

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

рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рдПрдХ рдХрдиреЗрдХреНрд╢рди?

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

рд╣реЗ рд╕рд░реНрд╡ рдирд┐рд░реНрдгрдп рдЕрд░реНрдерд╛рддрдЪ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░ рдШреЗрддрд╛рдд. рдкреНрд░рддреНрдпреЗрдХ рджреГрд╖реНрдЯрд┐рдХреЛрди рдХрдзреА рд╡рд╛рдкрд░рд╛рдпрдЪрд╛ рдпрд╛рдмрджреНрджрд▓ рдпреЛрдЧреНрдп рдирд┐рд░реНрдгрдп рдШреЗрддрд▓реНрдпрд╛рдиреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдлрд╛рдпрджрд╛ рдорд┐рд│рд╡рдгреНрдпрд╛рдд рдорджрдд рд╣реЛрдИрд▓. рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рд╡рд┐рдХрд╛рд╕рдХ рдХрдиреЗрдХреНрд╢рди рдЖрдгрд┐ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрд╕рд╛рдареА SQL рд╕реНрддрд░рд╛рд╡рд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреНрдпреЗ рд╕реНрд╡рд┐рдЪ рдХрд░реВ рд╢рдХрддреЛ.

рд╕рд░рд╛рд╡ рдордзреНрдпреЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ

рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, PostgreSQL рд╕рд╛рддрддреНрдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╣реЗ рд╕рд░реНрд╡реНрд╣рд░ рдкреЕрд░рд╛рдореАрдЯрд░рджреНрд╡рд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ synchronous_commit. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рддреЗ рд╕реНрдерд┐рддреАрдд рдЖрд╣реЗ on, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдЖрдгрдЦреА рддреАрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд: local, remote_write рдХрд┐рдВрд╡рд╛ off.

рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛рдирд╛ off рд╕рд░реНрд╡ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрдорд┐рдЯ рдерд╛рдВрдмрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдЕрдЧрджреА рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдгрд╛рд▓реАрд╡рд░рд╣реА. рд╕реНрдерд╛рдирд┐рдХ рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдореЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ, рдкрд░рдВрддреБ рдкреНрд░рддрд┐рдХреГрддреАрдВрдирд╛ рд▓рд┐рд╣рд┐рддреЗ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкрджреНрдзрддреАрдиреЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. Remote_write рдЖрдгрдЦреА рдкреБрдвреЗ рдЬрд╛рддреЗ: рдкреНрд░рддрд┐рдХреГрддреАрдВрд╡рд░ рд▓рд┐рд╣рд┐рдгреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХрдкрдгреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдкреНрд░рддрд┐рдХреГрддреАрдиреЗ рд▓реЗрдЦрди рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдЖрд╣реЗ рдкрд░рдВрддреБ рддреЗ рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдирд╛рд╣реА рддреЗрд╡реНрд╣рд╛ рдкрд░рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рд╢реНрд░реЗрдгреАрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрди, рдЖрдореНрд╣реА рдПрдХ рд╡рд░реНрддрди рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рддреЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди on - рд╣реА рд╕рдордХрд╛рд▓рд┐рдХ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдЖрд╣реЗрдд, рдЖрдореНрд╣реА рдирд┐рд╡рдбреВ local рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрдорд┐рдЯрд╕рд╛рдареА, рд╕реНрдерд╛рдирд┐рдХ рдХрдорд┐рдЯ рд╕реЛрдбрддрд╛рдирд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕.

рдЖрддрд╛, рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдПрдХрд╛ рдХреНрд╖рдгрд╛рдд рдХрд╕реЗ рд╕реЗрдЯ рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреВ, рдкрд░рдВрддреБ рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рдЖрдореНрд╣реА рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ synchronous_commit ╨▓ local рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА. рдкреЕрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ рдХрд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╡рд╛рдЯрд▓реЗ synchronous_commit рдлреНрд▓рд╛рдпрд╡рд░, рдЖрдгрд┐ рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рд╣реЗ рдХреЗрд╡рд│ рд╢рдХреНрдп рдирд╛рд╣реА, рдЕрд╕реЗ рдХрд░рдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд. рдкреНрд░рдердо рдЖрдкрд▓реНрдпрд╛ рдХрдиреЗрдХреНрд╢рдирдЪреЗ рд╕рддреНрд░ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╣реЗ:

SET SESSION synchronous_commit TO ON;  
// Your writes go here

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

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

BEGIN;  
SET LOCAL synchronous_commit TO ON;  
// Your writes go here
COMMIT;  

рдбреЗрдЯрд╛рдмреЗрд╕рдиреЗ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдкреНрд░рддрд┐рдХреГрддреАрдВрд╡рд░ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╕рд░реНрд╡ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрдорд┐рдЯрд╛рдВрдЪреА рдкреБрд╖реНрдЯреА рдХреЗрд▓реА рдЬрд╛рдИрд▓.

PostgreSQL рд╕реЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдпрд╛рдЖрдзреА, рдЖрдореНрд╣реА PostgreSQL рдкреНрд░рдгрд╛рд▓реАрдЪреА рдХрд▓реНрдкрдирд╛ рдХреЗрд▓реА synchronous_commit, рдордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд local. рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рд╣реЗ рд╡рд╛рд╕реНрддрд╡рд╡рд╛рджреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рджреЛрди рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкрд░реНрдпрд╛рдп рд╕реЗрдЯ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓. рдЖрдгрдЦреА рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░ synchronous_standby_names рд╕реНрд╡рдд: рдордзреНрдпреЗ рдпреЗрдИрд▓ рддреЗрд╡реНрд╣рд╛ synchronous_commit рдЖрдд рдЬрд╛рдИрд▓ on. рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрдорд┐рдЯрд╕рд╛рдареА рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рддрд┐рдХреГрддреА рдкрд╛рддреНрд░ рдЖрд╣реЗрдд рд╣реЗ рддреЗ рдард░рд╡рддреЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рддреЗ рд╕реЗрдЯ рдХрд░реВ *, рдЬреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрдИрд▓ рдХреА рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреА рдЧреБрдВрддрд▓реЗрд▓реА рдЖрд╣реЗрдд. рд╣реА рдореВрд▓реНрдпреЗ рд╕рд╣рд╕рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реА рдЬрд╛рддрд╛рдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдорд┐рд│рд╡реВрди:

synchronous_commit = local  
synchronous_standby_names='*'

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

рдЬрд░ рдЖрдкрдг рд╡рд┐рдХрд╛рд╕рд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рд░рд╛рдЬреНрдпрдкрд╛рд▓ рдкреНрд░рдХрд▓реНрдк, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдЕрд▓реАрдХрдбреАрд▓ рдмрджрд▓ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЕрд╕рддреАрд▓ (1, 2), рдЬреНрдпрд╛рдиреЗ рдЧрд╡реНрд╣рд░реНрдирд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реБрд╕рдВрдЧрддрддреЗрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА.

рдЖрдгрдЦреА рдХрд╛рд╣реА рд╢рдмреНрдж...

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

PostgreSQL рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ

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

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

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

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