PostgreSQL рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг

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

Highload ++ 2017 рдореЗрдВ рдПрд▓реЗрдХреНрд╕реА рд▓реЗрд╕реЛрд╡реНрд╕реНрдХреА ( @lesovsky ) рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ ред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ, рдПрдХ рд╕рд░реНрдкрд┐рд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдЙрдирдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рдлрд┐рд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдЙрдкрд╛рдп рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВред


рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ : рдбрд╛рдЯрд╛ рдПрдЧреНрд░реЗрдЯ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрд▓реЗрдХреНрд╕реА рд▓реЗрд╕реЛрд╡реНрд╕реНрдХреАред PostgreSQL рдореЗрдВ рдПрд▓реЗрдХреНрд╕реА рдХреЗ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдЗрд╕рд▓рд┐рдП Highload ++ 2017 рдХреА рд░рд┐рдкреЛрд░реНрдЯ рд╕рдорд░реНрдкрд┐рдд рдереА рдХрд┐ рдХреИрд╕реЗ рдЖрдБрдХрдбрд╝реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдпреЛрдЬрдирд╛


  1. рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд, рдпрд╛ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ PostgreSQL рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  2. рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЙрдкрдХрд░рдг рдпрд╛ рдХреНрдпрд╛ PostgreSQL рдФрд░ рд╕рдореБрджрд╛рдп рд╣реИ
  3. рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рдорд╛рдорд▓реЗ:
    • рд╕рдорд╕реНрдпрд╛рдУрдВ: рдЙрдирдХреЗ рд▓рдХреНрд╖рдг рдФрд░ рдирд┐рджрд╛рди
    • рд╕рдорд╛рдзрд╛рди
    • рдЙрдкрд╛рдп рдХрд┐рдП рдЬрд╛рдПрдВ рддрд╛рдХрд┐ рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рди рд╣реЛрдВред

рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ? рдпрд╣ рдЖрд▓реЗрдЦ рдЖрдкрдХреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЕрдкреНрд░рд┐рдп рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдФрд░ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдиреЗрдВред

рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


PostgreSQL рдореЗрдВ рдПрдХ рдЗрдХрд╛рдИ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рдЗрдЯ-рдЕрд╣реЗрдб рд▓реЙрдЧ (XLOG), рдПрдХ рд▓реЗрди-рджреЗрди рд▓реЙрдЧред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдбреЗрдЯрд╛ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд▓рдЧрднрдЧ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рд▓реЙрдЧ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рджреБрд░реНрдШрдЯрдирд╛ рдЕрдЪрд╛рдирдХ рд╣реЛрддреА рд╣реИ, рддреЛ PostgreSQL рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдореЗрдВ рджрд░реНрдЬ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдХрд┐рд╕реА рднреА DBMS рдФрд░ PostgreSQL рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред

рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдЖрдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЬрдм рдмреИрдХрдПрдВрдб рдбреЗрдЯрд╛рдмреЗрд╕ (INSERT, UPDATE, DELETE, рдЖрджрд┐) рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
    • рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдбреЗрдЯрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ COMMIT рдХрдорд╛рдВрдб рднреЗрдЬрд╛ред
    • рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    • рдПрдХ рдмрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдмреИрдХрдПрдВрдб рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред
  2. рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд▓реЗрдЦрди рд╣реИ, рдЬрдм рдПрдХ рдЕрд▓рдЧ рд╕рдорд░реНрдкрд┐рдд рд╡рд╛рд▓ рд▓реЗрдЦрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд┐рдЦрддреА рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдмреИрдХрдПрдВрдб рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣рд╛рд╕рд┐рд▓ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ COMMIT рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЗрд╕ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рджрд╕реНрдп рд╣реИрдВ:

  • рдорд╛рд╕реНрдЯрд░ рдЬрд╣рд╛рдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ;
  • рдХрдИ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЬреЛ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЗрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рддреА рд╣реИрдВред рдпрд╣ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реИред

рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпреЗ рд╕рднреА рд▓реЗрдирджреЗрди рд▓реЙрдЧ $ DATADIR рдореЗрдВ pg_xlog рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ - рдореБрдЦреНрдп DBMS рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред PostgreSQL рдХреЗ 10 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ pg_wal / рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ pg_xlog / рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рдЬрдЧрд╣ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╛ рдкреНрд░рд╢рд╛рд╕рдХ рдЬреЛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╕реЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

PostgreSQL рдореЗрдВ рдХрдИ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред

  • рдорд╛рд╕реНрдЯрд░ рдХреА рдУрд░ рд╕реЗ - рд╡рд╛рд▓ рд╕реЗрдВрдбрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдпрд╣ рдПрдХ рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рд▓реЙрдЧ рднреЗрдЬрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЕрдкрдирд╛ рд╡рд╛рд▓ рд╕реЗрдВрдбрд░ рд╣реЛрдЧрд╛ред
  • рдкреНрд░рддрд┐рд░реВрдк, рдмрджрд▓реЗ рдореЗрдВ, рд╡рд╛рд▓ рд░рд┐рд╕реАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд▓ рд╕реЗрдВрдбрд░ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдкрд░ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред
  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓реЙрдЧреНрд╕ рдХреЛ рдкрдврд╝рддреА рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЙрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИ рдЬреЛ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред


рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

  • рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╛рд▓ рдмрдлрд╝рд░реНрд╕ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рддрдм рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛;
  • рд▓реЙрдЧ pg_wal / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╣реИрдВ;
  • рд╡рд╛рд▓ рд╕реЗрдВрдбрд░ рднрдВрдбрд╛рд░ рд╕реЗ рд▓реЙрдЧ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ;
  • Wal Receiver рдЕрдкрдиреЗ рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ - рд╕реНрдерд╛рдиреАрдп pg_wal / рдореЗрдВ;
  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╣ рд╕рдм рдХреБрдЫ рдкрдврд╝рддреА рд╣реИ рдЬреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред

рдпреЛрдЬрдирд╛ рд╕рд░рд▓ рд╣реИред рд╕реНрдЯреНрд░реАрдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рдлреА рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕рдХрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЙрдкрдХрд░рдг


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдХреМрди рд╕реЗ рдЙрдкрдХрд░рдг рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред

рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЙрдкрдХрд░рдг


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

  • рд╢реАрд░реНрд╖ рдкреИрдХреЗрдЬ рд╕реЗред рд╢реАрд░реНрд╖ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдЬреИрд╕реЗ рдХрд┐ рдЯреЙрдк, рд╣реЙрдк рдФрд░ рдЬреИрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рд╢реАрд░реНрд╖ рдХреА рдорджрдж рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ: рдкреНрд░реЛрд╕реЗрд╕рд░ (рд╕реАрдкреАрдпреВ), рдФрд╕рдд рд▓реЛрдб (рд▓реЛрдб рдФрд╕рдд) рдФрд░ рдореЗрдореЛрд░реА рдФрд░ рд╕реНрд╡реИрдк рд╕реНрдкреЗрд╕ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧред

  • iostat sysstat рдФрд░ iotop рд╕реЗред рдпреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдбрд┐рд╕реНрдХ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рдФрд░ I / O рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВред

Iostat рдХреА рдорджрдж рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ: рднрдВрдбрд╛рд░рдг рдЙрдкрдпреЛрдЧ, рдЗрд╕ рд╕рдордп рдХрд┐рддрдиреЗ iops, рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдереНрд░реВрдкреБрдЯ, I / O (рд╡рд┐рд▓рдВрдмрддрд╛) рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рджреЗрд░реА рд╣реЛрддреА рд╣реИред рдпрд╣ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА procfs рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд▓реА рдЧрдИ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреГрд╢реНрдп рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИред

  • рдирд┐рдХрд╕реНрдЯреИрдЯ рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП, рдЖрдИрдУрд╕реИрдЯ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдЖрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

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

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

PgCenter рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ: рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдЖрдБрдХрдбрд╝реЗред рдЖрдк рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдВрддрд░рд╛рд▓ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • perf "рднреВрдорд┐рдЧрдд рдЦрдЯрдЦрдЯрд╛рдиреЗ" рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рдЧрд╣рди рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдЬрдм рдСрдкрд░реЗрд╢рди рдореЗрдВ PostgreSQL рд╕реНрддрд░ рдкрд░ рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред

рдкреВрд░реНрдг рдХреА рдорджрдж рд╕реЗ рд╣рдо рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ: рднреВрдорд┐рдЧрдд рджрд╕реНрддрдХреЗрдВред PostgreSQL рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдбрд┐рдмрдЧ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдвреЗрд░ рдХреЛ рджреЗрдЦ рд╕рдХреЗрдВ рдФрд░ рдХреМрди рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕реАрдкреАрдпреВ рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВред

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

рдПрдВрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдг


рдЦреБрдж PostgreSQL рдХреНрдпрд╛ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ?

рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рдЪрд╛рд░


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

рдХрд╛рдлреА рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпреВ рд╣реИрдВред рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: pg_stat_replication, pg_stat_wal_receiver, pg_stat_dat рдбреЗрдЯрд╛рдмреЗрд╕, pg_stat_datat_conflicts, рдФрд░ рд╕рд╣рд╛рдпрдХ pg_stat_activity рдФрд░ pg_stat_archiverред

рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реЗрдЯ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рд╣реЗрд▓реНрдкрд░ рдХрд╛рд░реНрдп


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

  • pg_current_wal_lsn () (pg_current_xlog_location () рдХрд╛ рдкреБрд░рд╛рдирд╛ рдПрдирд╛рд▓реЙрдЧ) рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдирд┐рд░рдВрддрд░ рдЕрдиреБрдХреНрд░рдо рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИред
  • pg_last_wal_receive_lsn (), pg_last_xlog_receive_location () рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╣реИ, рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдкреНрд░рддрд┐рдХреГрддрд┐ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЕрдВрддрд┐рдо рдкреНрд░рд╛рдкреНрдд рд▓реЗрдирджреЗрди рд▓реЙрдЧ рд╕реНрдерд┐рддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ;
  • pg_wal_lsn_diff (), pg_xlog_location_diff () рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рд╣реИред рд╣рдо рдЙрд╕реЗ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рд╕реЗ рджреЛ рд╕реНрдерд┐рддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ рдЕрд▓рдЧ рджрд┐рдЦрд╛рддреА рд╣реИ - рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЗрди рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реАред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдХреА рдкреВрд░реА рд╕реВрдЪреА psql рдореЗрдЯрд╛-рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ: \ df * (рд╡рд╛рд▓ | x lsn | рд╕реНрдерд╛рди) *ред

рдЖрдк рдЗрд╕реЗ psql рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЪрд▓рддреЗ рд╣реИрдВ, xlog, Isn, location рд╣реЛрддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ 20-30 рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗ, рдФрд░ рд╡реЗ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рдирдХрд╛рд░реА рднреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВред

Pg_waldump рдЙрдкрдпреЛрдЧрд┐рддрд╛


рд╕рдВрд╕реНрдХрд░рдг 10.0 рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ pg_xlogdump рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред Pg_waldump рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рд╣рдо рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреМрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рд░рд┐рдХреЙрд░реНрдб рдорд┐рд▓реЗ, рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдиреЗ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛, рдпрд╛рдиреА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдПред

10.0 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпреВ, рдлрд╝рдВрдХреНрд╢рдВрд╕, рдФрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдЬрд┐рдирдореЗрдВ рдЬрд╝реНрд▓реЙрдЧ рд╢рдмреНрдж рд╢рд╛рдорд┐рд▓ рдерд╛, рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд╢рдмреНрджреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рд╕реНрдерд╛рди рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рд╡рд╛рд▓ рдФрд░ рдПрд▓рдПрд╕рдПрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣реА рдХрд╛рдо pg_xlog рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ pg_wal рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрди рдЧрдИред

Pg_waldump рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрд╕ XLOG рдЦрдВрдбреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдорд╛рдирд╡-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд░рддреА рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ PostgreSQL рдХреЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЧрдореЗрдВрдЯ рд▓реЙрдЧ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рд╕рдВрд╕рд╛рдзрди рд░рд┐рдХреЙрд░реНрдб рдХреНрдпрд╛ рдЧрд┐рд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рд╣реАрдк рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓ рджреА рдЧрдИрдВ, рд╕реНрдЯреИрдВрдб-рдмрд╛рдп рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реАред рдЗрд╕ рдкреНрд░рдХрд╛рд░, pg_waldump рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд▓реЗрдХрд┐рди рдПрдХ рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░ рд╣реИ рдЬреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ: pg_waldump рдЬрдм рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рдереЛрдбрд╝рд╛ рдЧрд▓рдд рдбреЗрдЯрд╛ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬрдм рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рддреЛ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддрд╛ рд╣реИ - рдЬреЛ рднреА рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ)

рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

pg_waldump -f - /wal_10 \ $(psql -qAtX - "select pg_walfile_name(pg_current_wal_lsn())") 

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

рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рдорд╛рдорд▓реЗ


рдпрд╣рд╛рдВ рд╣рдо рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд▓рд╛рд╣рдХрд╛рд░реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдХреНрдпрд╛ рд▓рдХреНрд╖рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдирд┐рджрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдкреНрд░рддрд┐рдХреГрддрд┐ рд▓реИрдЧ рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИ ред рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдордиреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд┐рдпрд╛ рдерд╛:

- рд╣рдордиреЗ рджреЛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рддреЛрдбрд╝рд╛ рд╣реИред

- рд▓реИрдЧ 2 рдШрдВрдЯреЗ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛, pg_dump рд╢реБрд░реВ рд╣реБрдЖред

- рдареАрдХ рд╣реИ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рдЕрдиреБрдореЗрдп рдЕрдВрддрд░рд╛рд▓ рдХреНрдпрд╛ рд╣реИ?

- 16 рдШрдВрдЯреЗ max_standby_streaming_delay рдкрд░ред

- рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдкрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╣реЙрд░реНрд▓рд┐рдВрдЧ рд╕рд╛рдпрд░рди?

- рдирд╣реАрдВ, рд▓реЗрди-рджреЗрди рдкреАрдЯрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╡рд╛рд▓ рд░реЛрд▓ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред

рд╣рдореЗрдВ рд╣рд░ рд╕рдордп рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рд▓рдЧрднрдЧ рд╣рд░ рд╣рдлреНрддреЗ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред

Pg_wal / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реВрдЬрди рдЬрд╣рд╛рдВ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рд╕реЗрдЧрдореЗрдВрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдХрдо рдмрд╛рд░ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдЧрд┐рд░рдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рди рдмрджрд▓ рдЬрд╛рдПред

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

рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛: 100% CPU рдЙрдкрдпреЛрдЧ - рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдкрд░ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдХрд╛ 100% рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рднреА рдПрдХ рджреБрд░реНрд▓рдн рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреНрд░рд┐рдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред

рдкреНрд░рддрд┐рдХреГрддрд┐ рд▓реИрдЧ


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

рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдХреИрд╕реЗ рдХрд░реЗрдВ?

  • рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдкрд░ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдкрд░ рдПрдХ рдореВрд▓ рджреГрд╢реНрдп рд╣реИ - pg_stat_replication ред рдпрд╣ рд╕рднреА Wal Sender рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рд▓реЗрдирджреЗрди рд▓реЙрдЧ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд░реЗрдЦрд╛ рд╣реЛрдЧреА рдЬреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рддреА рд╣реИред
  • рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди pg_wal_lsn_diff () рдЖрдкрдХреЛ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкрджреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╣реА рдЕрдВрддрд░рд╛рд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░рд╛рд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рддрд░рд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЬрд╡рд╛рдм рд╣реИред
  • Pg_last_xact_replay_timestamp () рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕ рд╕рдордп рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЕрдВрддрд┐рдо рдЦреЛрдП рдЧрдП рд▓реЗрдирджреЗрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реБрд╡рд┐рдЦреНрдпрд╛рдд рдЕрдм () рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╣рдо рдЙрд╕ рд╕рдордп рдХреЛ рдШрдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЕрдм () рдлрд╝рдВрдХреНрд╢рди рд╕реЗ pg_last_xact_replay_timestamp () рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

Pg_stat_replication рдХреЗ 10 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рджрд┐рдЦрд╛рдИ рджрд┐рдП рдЬреЛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдиреА рд╣реИ, рд▓реЗрдХрд┐рди, рдлрд┐рд░ рднреА, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рджреГрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред



рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рд▓ рд╕реЗрдВрдбрд░ рдФрд░ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ client_addr рд╣реИ - рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрддрд╛ (рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЖрдИрдкреА рдкрддрд╛) рдФрд░ lsn рдлрд╝реАрд▓реНрдб рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕реЗ рд╕реНрдерд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рдореИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

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

рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред



рдпрд╣ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИ рдЬреЛ pg_stat_replication рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

  • pg_wal_lsn_diff () рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░ ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдлрд╝реАрд▓реНрдб рд╣реИрдВ - sent_lsn, write_lsn, flush_lsn, replay_lsnред рд╡рд░реНрддрдорд╛рди рдФрд░ рдкрд┐рдЫрд▓реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ, рд╣рдо рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд╣рд╛рдБ рдкрд░ рдкрд┐рдЫрдбрд╝ рдЧрдП, рдЬрд╣рд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рд╣реЛрддрд╛ рд╣реИред
  • pg_current_wal_lsn () , рдЬреЛ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд▓реЙрдЧ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рднреЗрдЬреЗ рдЧрдП рдПрдХ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ - рдХрд┐рддрдиреЗ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рд▓реЗрдХрд┐рди рднреЗрдЬреЗ рдирд╣реАрдВ рдЧрдПред
  • sent_lsn , write_lsn - рдпрд╣ рдХрд┐рддрдирд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдЕрдм рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрд╣реАрдВ рд╕реНрдерд┐рдд рд╣реИ, рдпрд╛ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдлрд╝рд░реНрд╕ рд╕реЗ рдбрд┐рд╕реНрдХ рд╕реНрдЯреЛрд░реЗрдЬ рддрдХ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
  • write_lsn, flush_lsn - рдпрд╣ рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди fsync рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЬреИрд╕реЗ рдХрд┐ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреЗрдЬ-рдХреИрд╢ рдореЗрдВ рд░реИрдо рдореЗрдВ рдХрд╣реАрдВ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдо fsync рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓рдЧрддрд╛ рд╣реИред
  • replay_lsn, flush_lsn - рдбреЗрдЯрд╛ рдбрдВрдк, fsync рдирд┐рд╖реНрдкрд╛рджрд┐рдд, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреГрддрд┐ рдирд╣реАрдВред
  • current_wal_lsn рдФрд░ replay_lsn рдХреБрд▓ рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкрд┐рдЫрд▓реЗ рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг




рдКрдкрд░ 10.6.6.8 рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рд▓рдВрдмрд┐рдд рд╣реИ , рдЙрд╕рдиреЗ рдХреБрдЫ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд┐рдП, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рдирд╣реАрдВ рднреЗрдЬреЗ рдЧрдП рд╣реИрдВ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдирд┐рдХрд╕реНрдЯреИрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред

рд╣рдо рдирд┐рдХрд╕реНрдЯреИрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦреЗрдВрдЧреЗ, рдЕрдЧрд░ рд╡рд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рддреЛ рд╣рдо рдЗрд╕ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд░рд╛рдЗрдЯ рд▓реИрдЧ рдКрдкрд░ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЕрдВрддрд░рд╛рд▓ рдХрд╛рдлреА рджреБрд░реНрд▓рдн рд╣реИ, рдореИрдВ рд▓рдЧрднрдЧ рдЗрд╕реЗ рдмрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рд╕рдорд╕реНрдпрд╛ рдбрд┐рд╕реНрдХ рдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╣рдо iostat рдпрд╛ iotop рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо рдбрд┐рд╕реНрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ I / O рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред



рдлреНрд▓рд╢ рдФрд░ рд░реАрдкреНрд▓реЗ рд▓реИрдЧреНрд╕ - рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд▓реИрдЧ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдбрд┐рд╕реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкрд╛рд╕ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЦреЛрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ iostat рдФрд░ iotop рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рдФрд░ рдмреНрд░реЗрдХ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИред

рдФрд░ рдЕрдВрддрд┐рдо Total_lag рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдореАрдЯреНрд░рд┐рдХ рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдереНрд░реЗрд╢реЛрд▓реНрдб total_lag рдкрд╛рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдПрдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг


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

рдЕрдм рд▓рдЧрднрдЧ рд╕рднреА рд╣реЛрд╕реНрдЯрд░реНрд╕ 1 рдЬреАрдмреА / рдПрд╕ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 10 рдЬреАрдмреА / рдПрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рднрд░рд╛ рд╣реБрдЖ рдмреИрдВрдбрд╡рд┐рдбреНрде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд┐рдХрд╕реНрдЯреИрдЯ рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдпрд╛ рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдпрд╛ рдХреЗрдмрд▓ рдХреЗ рд╕рд╛рдеред

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╢реАрд░реНрд╖ рдпрд╛ pg_stat_activity рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рджреЗрд░реА рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ: рдХреМрди рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИ, рдХреМрди рд╕реЗ рдЕрдиреБрд░реЛрдз рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп, рд╡реЗ рдХрд┐рддрдиреЗ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдпреЗ рдХреБрдЫ рд▓рдВрдмреЗ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╢реВрдЯ рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдордЭреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ - рд╣рдо рд╕реНрд╡рдпрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рдпрд╣ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд▓реЗрди-рджреЗрди рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рд╣реИ , рддреЛ рд╣рдо pg_stat_activity рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдмреИрдХрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢реБрд░реВ рдХреА рдЧрдИ рд╣реЛрдВ, рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╡реИрдХреНрдпреВрдо рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ (pg_stat_progress_vacuum), рдпрд╛ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реЛред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдмрд╕ рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

рдФрд░ рдмреЗрд╢рдХ pg_wal_lsn_diff () рдЕрдВрддрд░рд╛рд▓ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдВрддрд░рд╛рд▓ рдХрд╣рд╛рдВ рд╣реИ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░, рдбрд┐рд╕реНрдХ рдкрд░ рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ред

рд╕рдорд╛рдзрд╛рди рдХреЗ рд╡рд┐рдХрд▓реНрдк


рдиреЗрдЯрд╡рд░реНрдХ / рд╕рдВрдЧреНрд░рд╣рдг рд╕рдорд╕реНрдпрд╛рдПрдБ

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдХреБрдЫ рдирдЯреНрд╕ рдХреЛ рдХрд╕ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  • рд╡рд░реНрдХрд▓реЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

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

  • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдмреЗрд╡рдХреВрдл рд╡рд┐рдХрд▓реНрдк - рд╢рд╛рдпрдж рд╣рдо рд▓реЛрд╣реЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рднрд╛рдЧ рдЧрдП рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдбрд┐рд╕реНрдХ рдпрд╛ рдЦрд░рд╛рдм-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ SSDs рдпрд╛ RAID рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдкреНрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдЕрдм рдЖрдзрд╛рд░ рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЕрдкрдиреА рдЧреНрд░рдВрдерд┐рдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд╕реВрд▓реА рдореЗрдВ рджреЗрд░реА

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

рдпрджрд┐ рд▓рдВрдмреА рдХреНрд╡реЗрд░реАрдЬрд╝ рд╕реНрд╡рдпрдВ SQL рдХреНрд╡реЗрд░реА рдХреА рдЧреИрд░-рд╕рдорд╛рдирддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ (рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ EXPLAIN ANALYZE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ), рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦрдиреЗ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрджрд┐ рд╣рдо рдХреЛрдИ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

рдЙрдЪреНрдЪ рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓

рдпрджрд┐ рд╣рдо рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рд╕рдордп рдЗрд╕ рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддрд╛рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдХрдо рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдХреЛ рдЪрдмрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдлреБрд▓_рдкреЗрдЬ_ рд░рд╛рдЗрдЯреНрд╕ = рдСрдл рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд╕рдорд╛рдзрд╛рдиред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдореЗрдВ рдмрджрд▓рддреЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдкреВрд░реА рдЫрд╡рд┐рдпреЛрдВ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ (CHECKPOINT) рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕реЗрд╡рд╛ рд╕рдВрдЪрд╛рд▓рди рдерд╛, рддреЛ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рд╣рдо рд╕рд╛рдЭрд╛ рдмрдлрд╝рд░реНрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдкреГрд╖реНрда рдХреА рдкреВрд░реА рдЫрд╡рд┐, рдФрд░ рди рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡рдпрдВ, рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдкрд░ рдЬрд╛рдПрдВрдЧреЗред рдПрдХ рд╣реА рдкреГрд╖реНрда рдХреЗ рдмрд╛рдж рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрди рд▓реЙрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓реА рдЪреМрдХреА рдкрд░ред

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

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

рдПрдХ рдФрд░ рдЖрдзрд╛ рдЙрдкрд╛рдп рдЪреМрдХрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╣рд░ 5 рдорд┐рдирдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдХреЛ 30-60 рдорд┐рдирдЯ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдордп рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рдЧрдВрджреЗ рдкреГрд╖реНрда рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕рдорд╛рдзрд╛рди, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП - рд╡рд╣рд╛рдВ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рднрд╛рд░реА рдСрдкрд░реЗрд╢рди рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдФрд░, рд╢рд╛рдпрдж, рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмреИрдЪреЛрдВ рдореЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдореЗрдЬ рд╣реИ, рд╣рдо рдЙрд╕рд╕реЗ рдХрдИ рдорд┐рд▓рд┐рдпрди рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЗрди рд▓рд╛рдЦреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ 100-200 рд╣рдЬрд╛рд░ рдХреЗ рдкреИрдХ рдореЗрдВ рддреЛрдбрд╝рдирд╛ рд╣реИ рддрд╛рдХрд┐, рдкрд╣рд▓реЗ, рд╡рд╛рд▓ рдХреЗ рдЫреЛрдЯреЗ рд╡реЙрд▓реНрдпреВрдо рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ, рд╡реИрдХреНрдпреВрдо рдореЗрдВ рд╣рдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдВрддрд░рд╛рд▓ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ рдмрдбрд╝рд╛ рдФрд░ рдЖрд▓реЛрдЪрдирд╛рддреНрдордХред

рд╕реВрдЬрди pg_wal /


рдЕрдм, рдЖрдЗрдП рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ pg_wal / directory рд╕реВрдЬ рдЧрдпрд╛ рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, PostgreSQL рд╣рдореЗрд╢рд╛ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдЗрд╖реНрдЯрддрдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдФрд░, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕реЗ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ max_wal_size, рдЬреЛ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд▓рд╕ рдореЗрдВ рд╡рд╛рд▓_рдХреА_рд╕реЗрд▓реНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ - рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реЗрдЧрдореЗрдВрдЯ рдЬреЛ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдЪрд╛рдирдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИред

Max_wal_size рдФрд░ wal_keep_seolutions рдХреЗ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ, рд╣рдо рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ pg_wal / directory рдХрд┐рддрдиреА рдЬрдЧрд╣ рд▓реЗрдЧреАред рдпрджрд┐ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЧрдгрдирд╛ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ?


рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдбреБ -рд╢ рдХрдорд╛рдВрдб рд╣реИ ред рд╣рдо рдХреЗрд╡рд▓ рдореВрд▓реНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореЙрдирд┐рдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рд╣реИрдВ; рдПрдХ рдЧрдгрдирд╛ рд▓реЗрдмрд▓ рд░рдЦреЗрдВ, рд╡рд╣ рдХрд┐рддрдирд╛ рдмрдХрд╛рдпрд╛ рд╣реИ рдФрд░ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред

рдПрдХ рдЕрдиреНрдп рд╕реНрдерд╛рди рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ pg_replication_slots рдФрд░ pg_stat_archiver рджреГрд╢реНрдп ред Pg_wal / рдмрд╣реБрдд рд╕реА рдЬрдЧрд╣ рд▓реЗрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрд▓реЙрдЯреНрд╕ рдпрд╛ рдЯреВрдЯреА рд╣реБрдИ рдЖрд░реНрдХрд╛рдЗрд╡рд┐рдВрдЧ рдХреЛ рднреБрд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рднреА рдПрдХ рдЬрдЧрд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рд╡реЗ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рдереЗред

рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, PostgreSQL рд▓реЙрдЧ рдореЗрдВ рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, pg_wal / overflow рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рд╣рдо рд╡рд╣рд╛рдВ рдХреЗрд╡рд▓ рд╕рдВрдЧреНрд░рд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк:


рднрд╛рд░реА CRUD - рднрд╛рд░реА рдбреЗрдЯрд╛ рд░рд┐рдлреНрд░реЗрд╢ рдСрдкрд░реЗрд╢рди - рднрд╛рд░реА INSERT, DELETE, UPDATE, рдХрдИ рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗред рдпрджрд┐ PostgreSQL рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред рдЗрд╕реЗ pg_wal / рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдЧреНрд░рд╣реАрдд рд╕реНрдерд╛рди рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред рдпрд╣реА рд╣реИ, рдлрд┐рд░ рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рдпрд╣ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдкреИрдХ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкреВрд░реЗ рд╕рд░рдгреА рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ 100, 200, 300 рд╣рдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред

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

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реНрд▓реЙрдЯ рдХреЗ рд▓рд┐рдП PostgreSQL рдПрдХ рджреВрд░рд╕реНрде рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЗрд╕ рд╕реНрд▓реЙрдЯ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдЙрдиреНрд╣реЗрдВ рдпреЗ рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╕рдордп рдмреАрдд рдЬрд╛рддрд╛ рд╣реИ, рдХреЛрдИ рднреА рд╕реНрд▓реЙрдЯ рд╕реЗ рдирд╣реАрдВ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдЬрдорд╛ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рд╡реЗ 90% рд╕реНрдерд╛рди рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВ рдЗрддрдиреА рдЬрдЧрд╣ рд▓реА рдЬрд╛рддреА рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рднреВрд▓ рдЧрдП рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рд╕реНрд▓реЙрдЯ рдХреЛ рдмрд╕ рд╣рдЯрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдЙрд╕ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВред

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдЖрд░реНрдХрд╛рдЗрд╡_рдХреИрдВрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрд╛рд╣рд░реА рд▓реЗрди-рджреЗрди рд▓реЙрдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдкрджрд╛ рд╡рд╕реВрд▓реА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХрдорд╛рдВрдб рдЖрдорддреМрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдо рдЕрдХреНрд╕рд░ pg_receivexlog рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд░реНрдХрд╛рдЗрд╡_рдХрдорд╛рдВрдб рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрдорд╛рдВрдб рдЕрдХреНрд╕рд░ рдпрд╛ рддреЛ рдПрдХ рдЕрд▓рдЧ рдХрдорд╛рдВрдб рдпрд╛ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрддреА рд╣реИ рдЬреЛ pg_wal / рд╕реЗ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рд▓реЙрдЧ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рд▓реЗрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрд░реНрдХрд╛рдЗрд╡ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреА рд╣реИред

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

рдпрджрд┐ рдЖрд░реНрдХрд╛рдЗрд╡ рдХрдорд╛рдВрдб рдиреЗ 0 рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЦрдВрдб pg_wal / directory рдореЗрдВ рд░рд╣реЗрдЧрд╛ред рдЬрдм рддрдХ рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реА рдЖрд░реНрдХрд╛рдЗрд╡ рдЯреАрдо рдЯреВрдЯ рдЪреБрдХреА рд╣реИ, рддрдм рддрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдЬрдорд╛ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ , рдФрд░ рдЬрдЧрд╣ рднреА рдЦрддреНрдо рд╣реЛ рдЬрд╛рдПрдЧреАред

рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдЙрдкрд╛рдпреЛрдВ рдХрд╛ рд╕реЗрдЯ (100% рдкреНрд░рдпреБрдХреНрдд рд╕реНрдерд╛рди):

1. CRUD , тАФ pg_terminate_backend().
- , , , .. , pg_wal/, .

2. root тАФ reserved space ratio (ext filesystems).
ext ext 5%. , , 5% тАФ . , , 1% , tune2fs -m 1. PostgreSQL , . 100% .

3. (LVM, ZFS,...).
LVM ZFS, LVM ZFS, , , . , .

4. тАФ , , HE pg_wal/ .
, , , . ! PostgreSQL , . , , , .

, pg_xlog/ pg_wal/ тАФ log , , , , - тАФ !



, 100% CPU, .

workload . , ? , - , -. : , tablespace, tablespace.

. , , , , , , . тАФ .

checkpoints_segments/max_wal_size, wal_keep_segments . , , тАФ 10-20 wal_keep_segments, max_wal_size. , . PostgreSQL pg_wal/ .

pg_replication_slots тАФ . , , тАФ . , , . .

WAL, , pg_stat_archiver , . , , , , .

checkpoint . , , . , PostgreSQL . , checkpoint .



, , тАФ . - , . , .

тАФ PostgreSQL :

  • User was holding shared bufer pin for too long.
  • User query might have needed to see row versions that must be removed.
  • User was holding a relation lock for too long.
  • User was or might have been using table space that must be dropped.
  • User transaction caused bufer deadlock with recovery.
  • User was connected to a database that must be dropped.

2 тАФ , , . : , , . ( 30 ), PostgreSQL тАФ .

. , , . - , timeout . тАФ ALTER, , .

. , tablespace , tablespace. , , - тАФ .

?


pg_stat_databases, pg_stat_databases_conflicts . , . , .

, . , . , . , , , .

?


, тАФ :

  1. max_standby_streaming_delay ( ). , . .
  2. hot_stadby_feedback ( /). , vacuum - , . bloat . , , , hot_stadby_feedback .
  3. DBA тАФ . , . , , , - , .
  4. , , , , DBA тАФ , , . max_standby_streaming_delay . , . , , , . тАФ , .

Recovery process: 100% CPU usage


, , , 100% . , , 100%. , pg_stat_replication, , replay, , .

:

  • top тАФ тАФ 100% CPU usage recovery process;
  • pg_stat_replication тАФ , , .



, . , :

  • perf top/record/report ( debugтАФ);
  • GDB;
  • pg_waldump.

, , . workload, . , , PostgreSQL shared buffers ( ). .

рдирд┐рд░реНрдгрдп


, . - workload, - , - : ┬л , - ┬╗.

pgsql-hackers , pgsql-bugs , , . , .

тАФ - , , .

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


. , , , .

. , , , , , тАФ .

, , тАФ . , , , .

, , тАФ , , .

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ



, Highload++ Siberia , 25 26 . , , .

  • MySQL ClickHouse.
  • , Oracle.
  • рдирд┐рдХреЛрд▓реЗ рдЧреЛрд▓реЛрд╡ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд▓реЗрдирджреЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ рдЕрдЧрд░ рдкреИрд╕рд╛ рдПрдХ рд╕реЗрд╡рд╛ рдореЗрдВ рд╣реИ, рджреВрд╕рд░реЗ рдореЗрдВ рд╕реЗрд╡рд╛рдПрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХрд╛ рдЕрдкрдирд╛ рдЕрд▓рдЧ рдЖрдзрд╛рд░ рд╣реИред
  • рдпреВрд░реА рдирд╕реЗрд░реЗрддрд┐рдиреЛрд╡ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡реАрдХреЗ рдХреЛ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдХрд┐рддрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред

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


All Articles