Slony рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ рд╕реЗ рдирдП PostgreSQL рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐


PostgreSQL рдореЗрдВ рдореВрд▓ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗрд╡рд▓ рдЙрд╕реА рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХрд░рддреА рд╣реИред рд╣рдордиреЗ рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ PostgreSQL рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗрд╡рд▓ PostgreSQL рдХреЗ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PostgreSQL 9.4 рдФрд░ PostgreSQL 11. 9.4 рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? Slony-I рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


PostgreSQL рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Slony-I рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Slony рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ?


рдпрд╣ рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЪреМрдерд╛ рдкреЛрд╕реНрдЯ рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдпрд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ , рдЬрд╣рд╛рдВ рд╣рдо рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реАрдЦрддреЗ рд╣реИрдВред


Slony


Slony PostgreSQL рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрддрд░реАрдп рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдпрд╛ рдмрд▓реНрдХрд┐, рдпрд╣ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд╛рдлрд╝реА рд╕рдордп рд╕реЗ рд╕реНрд▓реЗрдиреА рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 8.4 рд╕реЗ 11 рддрдХ PostgreSQL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред


рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╢рдмреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ: рд╕реНрд▓реЛрди, рдИрд╡реЗрдВрдЯ, рдФрд░ рд╕реНрд▓реЛрдирд┐рдХред


рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ Slony, рдпреЗ "рд╣рд╛рдереА" рд╣реИрдВред рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдорд╣рд╛рди рд╕реНрдореГрддрд┐ рд╣реИред рдпрд╣ рдХреЛрдИ рд╕рдВрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ PostgreSQL рд▓реЛрдЧреЛ рдкрд░ рдПрдХ рд╕рдЦреНрдд рд▓реЗрдХрд┐рди рдкреНрдпрд╛рд░рд╛ рд╣рд╛рдереА рдлрд╣рд░рд╛рддрд╛ рд╣реИред


Slon


рд╕реНрд▓реЛрди рдПрдХ рдбреЗрдорди рд╣реИ рдЬреЛ рд╕реНрд▓реЛрдиреА-I рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВ рдиреЛрдб рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдпреЗ рдбреЗрдореЙрди рдкреНрд░рддреНрдпреЗрдХ PostgreSQL рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ PostgreSQL рд╕рд░реНрд╡рд░ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдиреЛрдбреНрд╕ рдорд┐рд▓рдХрд░ рдПрдХ рд╕реНрд▓реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВред


рдкреНрд░рдХрд╛рд╢рдХ рдиреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИ, рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдиреЛрдб рдкреНрд░рдХрд╛рд╢рдХ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред


рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдпрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рджрд╕реНрдпрддрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИред рдкреНрд░рддрд┐рдХреГрддрд┐ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди SYNC рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдирджреЗрди рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдПрдХ рд╕рд╛рде рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред


рдШрдЯрдирд╛рдУрдВ


рдкреНрд░рдХрд╛рд╢рдХ рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реВрдЪрдирд╛ рджреА рдЬрд╛рддреА рд╣реИред рдЬрдм рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрд▓реЛрди рдбреЗрдорди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдкрд╛рд╡рддреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдФрд░ рдИрд╡реЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдиреЛрдбреНрд╕ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдирдП рдиреЛрдбреНрд╕, рдирдП рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдпрд╛ рдбреАрдбреАрдПрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдпрд╛ рдирд┐рдХрд╛рд▓рдирд╛ред


рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХреЗ рд╕реНрд░реЛрдд, рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░, рдШрдЯрдирд╛ рдиреЛрдб рдкрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдХрдИ рддрд░реНрдХ рдФрд░ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдордп рдЯрд┐рдХрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред
PL / pgSQL рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рдЯреНрд░рд┐рдЧрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдбреАрдбреАрдПрд▓, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рднреВрдорд┐рдХрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиред


slonik


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


рд╣рдорд╛рд░реЗ pgbench рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡ рд╕реНрдХреАрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:


#!/bin/sh slonik <<_EOF_ cluster name = percona_pg; node 1 admin conninfo = 'dbname=pg93 host=pg93_host user=percona_pg93_user'; node 2 admin conninfo = 'dbname=pg11 host=pg11_host user=percona_pg11_user'; #-- # Creates a _$(clustername), this example, _percona_pg schema #-- init cluster ( id=1, comment = 'Legacy PG Node'); #-- # Add a list of tables being replicated to a set. #-- create set (id=1, origin=1, comment='pgbench'); set add table (set id=1, origin=1, id=1, fully qualified name = 'public.pgbench_accounts', comment='accounts'); set add table (set id=1, origin=1, id=2, fully qualified name = 'public.pgbench_branches', comment='branches'); set add table (set id=1, origin=1, id=3, fully qualified name = 'public.pgbench_tellers', comment='tellers'); set add table (set id=1, origin=1, id=4, fully qualified name = 'public.pgbench_history', comment='history'); #-- # Create the second node (the slave) tell the 2 nodes how to connect to # each other and how they should listen for events. #-- store node (id=2, comment = 'Target node', event node=1); store path (server = 1, client = 2, conninfo='dbname=pg93 host=pg93_host user=percona_pg93_user'); store path (server = 2, client = 1, conninfo='dbname=pg11 host=pg11_host user=percona_pg11_user'); _EOF_ 

рдХреНрдпреЛрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ Slony?


рдЖрдВрддрд░рд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдлрд╛рдпрджреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, PostgreSQL 9.4 рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЯреНрд░рд┐рдЧрд░-рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдбреЗрдЯрд╛рдмреЗрд╕ API рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ PL / pgSQL рдФрд░ SQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


Slony рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ?


  • рдЯреЗрдмрд▓ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЗ рдмрд┐рдирд╛ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВред
  • OID рдмреВрдБрдж рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЫреЛрдЯреЗ рдорд╛рди рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ BYTEA рдореЗрдВ рдмрджрд▓реЗрдВред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрд╣реБрдд рдмрдбрд╝реЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЫрд╡рд┐рдпрд╛рдВ - рдмрд╛рд╣реНрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ (рдХрд╣рддреЗ рд╣реИрдВ, рдЕрдореЗрдЬрд╝реЕрди рдХреНрд▓рд╛рдЙрдб рдореЗрдВ S3)ред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рддреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдмреНрд▓реЙрдм рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░реЗрдВред
  • рдЕрдиреНрдп рдЯреЗрдмрд▓ рдФрд░ рдЕрдиреНрдп рдбреАрдбреАрдПрд▓ рд╕рдВрдЪрд╛рд▓рдиред рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИред рд╕рдВрдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ SQL рдпрд╛ DDL рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде SQL рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП slonik EXECUTE SCRIPT рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

PostgreSQL рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдСрдирд▓рд╛рдЗрди рдорд╛рдЗрдЧреНрд░реЗрд╢рди


  1. рд╕реБрдкрд░рд╕реБрд╕рд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВред рдЖрдк рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
  2. рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдЧрдВрддрд╡реНрдп рдкрд░ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВред
  3. рдорд╛рд╕реНрдЯрд░ рд╕реЗ рджрд╛рд╕ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред
  4. Slony-I рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдУрдПрд╕ рдХреЗ рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░, рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реЗ рд╕реНрд▓реЛрдиреА- I рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
  5. рд╕реНрд▓реЛрдирд┐рдХ рдХрдорд╛рдВрдб рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдФрд░ рдиреЛрдб рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
  6. рдкреНрд░рддреНрдпреЗрдХ PostgreSQL рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд▓реЛрди рдбреЗрдорди рдЪрд▓рд╛рдПрдВред рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдпрд╛ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
  7. рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЛрдирд┐рдХ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред
  8. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЯреЗрд╕реНрдЯ рд░реАрдб-рдУрдирд▓реА рдЕрдиреБрд░реЛрдзред
  9. рдЬрдм рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд░реЛрдХ рджреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирдП рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВред
  10. Slony рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рднреА рдирд┐рд╢рд╛рди рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП PostgreSQL рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕рдВрдХреНрд░рдордг


рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Slony рдХреЗ рд╕рд╛рде, рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдФрд░ PosgreSQL рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ Slony рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдирддрдо рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг 8.4 рд╣реИред


рдкрд░рд┐рдгрд╛рдо


рд╣рдордиреЗ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрдк Slony рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╡реЗрдмрд┐рдирд╛рд░ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

Source: https://habr.com/ru/post/hi458334/


All Articles