PostgreSQL рд░ рдЬрдбрд╛рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реНрдерд┐рд░рддрд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ

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

PostgreSQL рд░ рдЬрдбрд╛рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реНрдерд┐рд░рддрд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ

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

рдорд▓рд╛рдИ рдХрд┐рди рдЪрд╛рд╣рд┐рдиреНрдЫ?

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

рд╕рдореНрдЭреМрддрд╛ рднреЗрдЯреНрдиреБрд╣реЛрд╕реН

рддрдкрд╛рдИрдВрд▓реЗ рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░рддрд╛ рд░ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдХреЛ рдмреАрдЪрдорд╛ рдЯреНрд░реЗрдбрдЕрдл рдмрдирд╛рдЙрдиреБ рдкрд░реНрдЫред PostgreSQL рд╕реНрдерд┐рд░рддрд╛рдмрд╛рдЯ рдЯрд╛рдврд╛ рдЬрд╛рдиреНрдЫ рдХрд┐рдирднрдиреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рддреНрдпрд╕рдкрдЫрд┐ рдЕрдиреБрдорд╛рдирд┐рдд рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЖрд╢реНрдЪрд░реНрдп рдмрд┐рдирд╛ рд╣реБрдиреНрдЫред рдЕрдм рд╕рдореНрдЭреМрддрд╛рд╣рд░реВ рд╣реЗрд░реМрдВред

рдЯреНрд░реЗрдбрдЕрдл рез: рдкреНрд░рджрд░реНрд╢рди

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

Tradeoff 2: рд╕реНрдерд┐рд░рддрд╛

рдпреА рджреБрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдорд╛ рдиреЗрддрд╛ рдЕрд╕рдлрд▓ рднрдПрдорд╛ рдкрд░рд┐рдгрд╛рдо рдкрдирд┐ рдлрд░рдХ рд╣реБрдиреЗрдЫред рдпрджрд┐ рдХрд╛рдо рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рд░реВрдкрдорд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдпрджрд┐ рдпрд╕реНрддреЛ рддреНрд░реБрдЯрд┐ рд╣реБрдиреНрдЫ рднрдиреЗ, рд╕рдмреИ рд░реЗрдХрд░реНрдбрд╣рд░реВ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реБрдиреЗрдЫреИрдирдиреНред рдХрддрд┐ рдШрд╛рдЯрд╛ рд╣реЛрд▓рд╛ ? рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдлреИ рд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рджрдХреНрд╖рддрд╛ рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рдХрдореНрдкреЛрдЬ рдкреНрд░рддрд┐рдХреГрддрд┐рд▓реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рд▓рд╛рдИ рдиреЗрддрд╛ рдмрдиреНрдирдмрд╛рдЯ рд░реЛрдХреНрдЫ рдпрджрд┐ рдпрд╕рдорд╛ рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рдорд╛рддреНрд░рд╛ рд▓рд┐рдбрд░рдХреЛ рднрдиреНрджрд╛ рез 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 рд▓рд╛рдИ рдпрддрд┐ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдлрд╛рдЗрди-рдЯреНрдпреВрди рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рдЫред рддреНрдпрд╕рдмреЗрд▓рд╛ рдХрдореНрдкреЛрдЬ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдЯреЛрд▓реАрдХрд╛ рд╕рджрд╕реНрдп, рдХрд░реНрдЯрд▓реЗ рдпрд╕реНрддреЛ рдЕрд╡рд╕рд░ рдЕрд╡рд╕реНрдерд┐рдд рднрдПрдХреЛрдорд╛ рдЬреЛрдб рджрд┐рдПред рдЙрд╣рд╛рдБрд▓реЗ рдореЗрд░реЛ рдЖрдкрддреНрддрд┐рд╣рд░реВ рд╢рд╛рдиреНрдд рдЧрд░реНрдиреБрднрдпреЛ рд░ PostgreSQL рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрднрдпреЛ рдирд┐рдореНрди:

PostgreSQL рд░ рдЬрдбрд╛рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЗрдЦрди рд╕реНрдерд┐рд░рддрд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ

рдпреЛ рд╕реЗрдЯрд┐рдЩ рдХреБрдиреИ рдкрдирд┐ рд╕рдордп рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдХреБрдиреИ рдкрдирд┐ рд▓реЗрдирджреЗрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрдорд┐рдЯрдХреЛ рд╕рдордпрдорд╛ рдкреНрд░рднрд╛рд╡рдорд╛ рд░рд╣реЗрдХреЛ рд╕реЗрдЯрд┐рдЩрджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред рддрд╕рд░реНрде, рдХреЗрд╣реА рд▓реЗрдирджреЗрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░ рдЕрд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдЧрд░реНрди рд╕рдореНрднрд╡ рд░ рдЙрдкрдпреЛрдЧреА рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдмрд▓рд┐рдпреЛ рдмрдирд╛рдЙрди multistatement рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рди рд╡рд┐рдкрд░реАрдд, рд╕реЗрдЯ рдЧрд░реНрджрд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдХрдорд┐рдЯ рдЧрд░реНрди рд▓реЗрдирджреЗрди SET LOCAL synchronous_commit TO OFF рдПрдХ рд▓реЗрдирджреЗрди рдорд╛ред

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдпреЛ рд╕рд╛рдиреЛ рдкрд░рд┐рдорд╛рд░реНрдЬрдирдХреЛ рд╕рд╛рде, рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдерд┐рд░рддрд╛ рд░ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рджрд┐рдпреМрдВред

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

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