PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

рддрд╛рддреНрд╡рд┐рдХ рдкрд░рд┐рдЪрдп

рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ рдХреА, рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рджреЛрди рдкрджреНрдзрддреА рдЖрд╣реЗрдд:

  1. рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреА рдкрджреНрдзрдд рдХрд┐рдВрд╡рд╛ рд╡рдЬрд╛рд╡рдЯреАрдЪреА рдкрджреНрдзрдд рдХрд┐рдВрд╡рд╛ рд╕рд╛рдорд╛рдиреНрдп рддреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ.
  2. рд╕рдВрд╢реНрд▓реЗрд╖рдгрд╛рдЪреА рдкрджреНрдзрдд рдХрд┐рдВрд╡рд╛ рдкреНрд░реЗрд░рдгрд╛рдЪреА рдкрджреНрдзрдд, рдХрд┐рдВрд╡рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреЗ рд╕рд╛рдорд╛рдиреНрдп.

"рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА" рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреЗ рдпрд╛рд╕рд╛рд░рдЦреЗ рджрд┐рд╕реВ рд╢рдХрддреЗ.

рдЕреЕрдирд╛рд▓рд┐рдЭ тАФ рдЖрдореНрд╣реА рд╕рдорд╕реНрдпреЗрдЪреЗ рд╕реНрд╡рддрдВрддреНрд░ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВрди, рдЖрдореНрд╣реА рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ.

рд╕рд░рд╛рд╡ рдордзреНрдпреЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

  • рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддреЗ (рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдШрдЯрдирд╛)
  • рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдорд╛рд╣рд┐рддреА рдЧреЛрд│рд╛ рдХрд░рдгреЗ
  • рдЕрдбрдерд│реЗ рд╢реЛрдзрдд рдЖрд╣реЗ
  • рдЖрдореНрд╣реА рдЕрдбрдерд│реНрдпрд╛рдВрдордзреВрди рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЛ

рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдбрдерд│реЗ тАФ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ (CPU, рдореЗрдорд░реА, рдбрд┐рд╕реНрдХ, рдиреЗрдЯрд╡рд░реНрдХ, OS), рд╕реЗрдЯрд┐рдВрдЧреНрдЬ (postgresql.conf), рдХреНрд╡реЗрд░реА:

рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛: рдЕрднрд┐рдпрдВрддреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рднрд╛рд╡ рдЖрдгрд┐ рдмрджрд▓рд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рдЬрд╡рд│рдЬрд╡рд│ рд╢реВрдиреНрдп рдЖрд╣реЗрдд.

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

рдЪреМрдХрд╢реНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рд▓рд╛: рдлрдХреНрдд рдпреБрдХреНрддреАрд╕рд╛рдареА рдЬрд╛рдЧрд╛.

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

рдЧреАрддрд╛рддреНрдордХ рдкрд░рд┐рдЪрдп рдХрд┐рдВрд╡рд╛ рд╣реЗ рд╕рд░реНрд╡ рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ

рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдирд╕рд▓реНрдпрд╛рд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдШрдЯрдирд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдп рдЖрд╣реЗ:

рдЧреНрд░рд╛рд╣рдХ - "рдЖрдордЪреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╡рд╛рдИрдЯ рдЖрд╣реЗ, рдпрд╛рд╕ рдЦреВрдк рд╡реЗрд│ рд▓рд╛рдЧрдд рдЖрд╣реЗ, рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рдЪрд╛рдВрдЧрд▓реЗ рдХрд░рд╛"
рдЕрднрд┐рдпрдВрддрд╛ - "рдХрд┐рддреА рд╡рд╛рдИрдЯ рдЖрд╣реЗ?"
рдЧреНрд░рд╛рд╣рдХ - "рдЖрддрд╛ рдЕрд╕реЗрдЪ рдЖрд╣реЗ (рдПрдХ рддрд╛рд╕рд╛рдкреВрд░реНрд╡реА, рдХрд╛рд▓, рдорд╛рдЧрдЪреНрдпрд╛ рд╡реЗрд│реА рд╣реЛрддреЗ), рд╣рд│реВ"
рдЕрднрд┐рдпрдВрддрд╛ - "рддреЗ рдХрдзреА рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрддреЗ?"
рдЧреНрд░рд╛рд╣рдХ - тАЬрдПрдХ рдЖрдард╡рдбрд╛ (рджреЛрди рдЖрдард╡рдбреЗ) рдкреВрд░реНрд╡реА рддреЗ рд╡рд╛рдИрдЯ рдирд╡реНрд╣рддреЗ. "(рд╣реЗ рднрд╛рдЧреНрдпрд╡рд╛рди рдЖрд╣реЗ)
рдЧреНрд░рд╛рд╣рдХ - "рддреЗ рдХрдзреА рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрддреЗ рддреЗ рдорд▓рд╛ рдЖрдард╡рдд рдирд╛рд╣реА, рдкрдг рдЖрддрд╛ рддреЗ рд╡рд╛рдИрдЯ рдЖрд╣реЗ" (рд╕рд╛рдорд╛рдиреНрдп рдЙрддреНрддрд░)

рдкрд░рд┐рдгрд╛рдо рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЪрд┐рддреНрд░ рдЖрд╣реЗ:

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

рджреЛрд╖ рдХреЛрдгрд╛рд▓рд╛ рджреНрдпрд╛рдпрдЪреЗ рдЖрдгрд┐ рдХрд╛рдп рдХрд░рд╛рд╡реЗ?

рдкреНрд░рд╢реНрдирд╛рдЪрд╛ рдкрд╣рд┐рд▓рд╛ рднрд╛рдЧ рдЙрддреНрддрд░ рджреЗрдгреЗ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдЖрд╣реЗ - рдбреАрдмреАрдП рдЕрднрд┐рдпрдВрддрд╛ рдиреЗрд╣рдореАрдЪ рджреЛрд╖реА рдЕрд╕рддреЛ.

рджреБрд╕рд░рд╛ рднрд╛рдЧ рдЙрддреНрддрд░ рджреЗрдгреЗ рджреЗрдЦреАрд▓ рдХрдареАрдг рдирд╛рд╣реА - рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдкрд╣рд┐рд▓рд╛ рдкреНрд░рд╢реНрди рдкрдбрддреЛ - рдХрд╛рдп рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рд╛рд╡реЗ?

рдкрде 1. рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

CPU рд▓реЛрдб, рдбрд┐рд╕реНрдХ рд░реАрдб/рд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛, рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдЪрд╛ рдЖрдХрд╛рд░ рдЖрдгрд┐ рднрд┐рдиреНрди рдХрд╛рдЙрдВрдЯрд░рдЪрд╛ рдЖрдгрдЦреА рдПрдХ рдореЗрдЧрд╛рдЯрди рдЬреЗ рдХрдореА рдХрд┐рдВрд╡рд╛ рдЬрд╛рд╕реНрдд рдХрд╛рд░реНрдпрд░рдд рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд╛рди рдХрд░реВ рд╢рдХрддреЗ.

рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгрдЬреЗ рдЖрд▓реЗрдЦ, рд╕рд╛рд░рд╛рдВрд╢ рд╕рд╛рд░рдгреНрдпрд╛ рдЖрдгрд┐ рд╕рддрдд рдИрдореЗрд▓ рд╕реВрдЪрдирд╛ рдЖрдгрд┐ 100% рд╡реНрдпрд╕реНрдд рдЕрднрд┐рдпрдВрддрд╛ рд╕рдорд╛рди рддрд┐рдХрд┐рдЯрд╛рдВрдЪрд╛ рдПрдХ рд╕рдореВрд╣ рд╕реЛрдбрд╡рдгреНрдпрд╛рдд, рддрдерд╛рдкрд┐, рдПрдХ рдирд┐рдпрдо рдореНрд╣рдгреВрди, рдорд╛рдирдХ рд╢рдмреНрджрд╛рдВрд╕рд╣ - тАЬрддрд╛рддреНрдкреБрд░рддреА рд╕рдорд╕реНрдпрд╛. рдХреЛрдгрддреНрдпрд╛рд╣реА рдХрд╛рд░рд╡рд╛рдИрдЪреА рдЧрд░рдЬ рдирд╛рд╣реА.тАЭ рдкрд░рдВрддреБ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╡реНрдпрд╕реНрдд рдЖрд╣реЗ, рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рджрд╛рдЦрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдиреЗрд╣рдореАрдЪ рдХрд╛рд╣реАрддрд░реА рдЕрд╕рддреЗ - рдХрд╛рдо рдЬреЛрд░рд╛рдд рд╕реБрд░реВ рдЖрд╣реЗ.

рдорд╛рд░реНрдЧ 2. рдЬреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗрдЪ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рд╛ рдЖрдгрд┐ рдЬреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА рддреНрдпрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА

рддреБрдореНрд╣реА рдереЛрдбреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рд╢рдХрддрд╛, рдлрдХреНрдд рд╕рдВрд╕реНрдерд╛ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо:

  • рдХреЛрдгрддрд╛ DBA рдЕрднрд┐рдпрдВрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реВ рд╢рдХрддреЛ
  • рдЬреНрдпрд╛рд╕рд╛рдареА рдПрдЦрд╛рджреА рдШрдЯрдирд╛ рдШрдбрддреЗ рдХрд┐рдВрд╡рд╛ рдПрдЦрд╛рджреА рд╕рдВрд╕реНрдерд╛ рдмрджрд▓рддреЗ рддреЗрд╡реНрд╣рд╛ рдХреНрд░рд┐рдпрд╛рдВрдЪрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрд╕рддреЛ.

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

рдкрд░рдВрддреБ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдгрд╛рд░реА рднрд╛рд░реА рдХреНрд╡реЗрд░реА рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдкреНрд░рдердо рддреА рд╢реЛрдзрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рддрд░, рджреЛрди рдкрд░рд╕реНрдкрд░рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рддрд╛рдд:

  • рдЬреА рд╡рд┐рдирдВрддреА рдХрдареАрдг рдорд╛рдирд▓реА рдЬрд╛рддреЗ
  • рдХрдареАрдг рдкреНрд░рд╢реНрди рдХрд╕реЗ рд╢реЛрдзрд╛рдпрдЪреЗ.

рдЕрд░реНрдерд╛рдд, рдПрдХ рднрд╛рд░реА рдХреНрд╡реЗрд░реА рд╣реА рдПрдХ рдХреНрд╡реЗрд░реА рдЖрд╣реЗ рдЬреА рдкрд░рд┐рдгрд╛рдо рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рднрд░рдкреВрд░ OS рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░рддреЗ.

рдЪрд▓рд╛ рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдХрдбреЗ рд╡рд│реВ - рд╢реЛрдз рдЖрдгрд┐ рдирдВрддрд░ рдЬрдб рдкреНрд░рд╢реНрдирд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд╕реЗ рдХрд░рд╛рд╡реЗ?

PostgreSQL рдХрдбреЗ рдХреЛрдгрддреНрдпрд╛ рдХреНрд╡реЗрд░реА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдЖрд╣реЗрдд?

рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдХрд╛рд╣реА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддрд░реАрд╣реА рдХрд╛рд╣реАрддрд░реА рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

рдкреАрдЬреА_рд╕реНрдЯреЕрдЯ_рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕

PostgreSQL рдордзреНтАНрдпреЗ рдЬрдб рдХреНтАНрд╡реЗрд░реА рд╢реЛрдзрдгреНтАНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА, рдорд╛рдирдХ рд╡рд┐рд╕реНрддрд╛рд░ pg_stat_statements рд╣рд╛ рдЙрджреНрджреЗрд╢ рдЖрд╣реЗ.

рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдорд╛рди рдирд╛рд╡рд╛рдЪреЗ рджреГрд╢реНрдп рджрд┐рд╕рддреЗ, рдЬреЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╣реЗрддреВрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рд╡реЗ.

рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рдХреНрд╖реНрдп pg_stat_statements рд╕реНрддрдВрдн:

  • queryid рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ рдкрд╛рд░реНрд╕ рдЯреНрд░реАрд╡рд░реВрди рдЧрдгрдирд╛ рдХреЗрд▓реЗрд▓рд╛ рдЕрдВрддрд░реНрдЧрдд рд╣реЕрд╢ рдХреЛрдб
  • рдХрдорд╛рд▓_рд╡реЗрд│ рд╡рд┐рдзрд╛рдирд╛рд╡рд░ рдШрд╛рд▓рд╡рд▓реЗрд▓рд╛ рдХрдорд╛рд▓ рд╡реЗрд│, рдорд┐рд▓рд┐рд╕реЗрдХрдВрджрд╛рдВрдордзреНрдпреЗ

рдпрд╛ рджреЛрди рд╕реНрддрдВрднрд╛рдВрд╡рд░ рдЖрдХрдбреЗрд╡рд╛рд░реА рдЬрдорд╛ рдХрд░реВрди рдЖрдгрд┐ рд╡рд╛рдкрд░реВрди, рдЖрдкрдг рдПрдХ рджреЗрдЦрд░реЗрдЦ рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛.

PostgreSQL рдХрд╛рдордЧрд┐рд░реАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА pg_stat_statements рдХрд╕реЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

рдХреНрд╡реЗрд░реА рдХрд╛рдордЧрд┐рд░реАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд╛:
рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдмрд╛рдЬреВрд▓рд╛ - pg_stat_statements рджреГрд╢реНрдп
рдмрд╛рдЬреВрд▓рд╛ рдкрд╛рд╕реВрди рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ - рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЯреЗрдмрд▓реНрд╕рдЪрд╛ рд╕рдВрдЪ.

рд╕реНрдЯреЗрдЬ 1 - рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛рдЪреЗ рд╕рдВрдХрд▓рди

рдХреНрд░реЙрди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╣реЛрд╕реНрдЯрд╡рд░, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рдпрдорд┐рддрдкрдгреЗ рд▓рд╛рдБрдЪ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЬреА pg_stat_statements рджреГрд╢реНрдпрд╛рдЪреА рд╕рд╛рдордЧреНрд░реА рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ pg_stat_history рдЯреЗрдмрд▓рд╡рд░ рдХреЙрдкреА рдХрд░рддреЗ.

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

рд╕реНрдЯреЗрдЬ 2 - рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗрдЯ рдХрд░рдгреЗ

рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ, рдЖрдореНрд╣реА рдЕрд╢рд╛ рдХреНрд╡реЗрд░реА рдирд┐рд╡рдбрддреЛ рдЬреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА (рдЕрдиреБрдкреНрд░рдпреЛрдЧ) рд╕рд░реНрд╡рд╛рдд рдЧрдВрднреАрд░/рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдЖрд╣реЗ. рдЧреНрд░рд╛рд╣рдХрд╛рд╢реА рдХрд░рд╛рд░ рдХрд░реВрди, рдЖрдореНрд╣реА queryid рдЖрдгрд┐ max_time рдлреАрд▓реНрдб рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕рдЪреА рдореВрд▓реНрдпреЗ рд╕реЗрдЯ рдХрд░рддреЛ.

рдкрд░рд┐рдгрд╛рдо - рдХрд╛рдордЧрд┐рд░реА рдирд┐рд░реАрдХреНрд╖рдг рд╕реБрд░реВ

  1. рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╡рд░, рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ pg_stat_statements рджреГрд╢реНрдпрд╛рддреАрд▓ рдореВрд▓реНрдпрд╛рд╢реА рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ max_time рдореВрд▓реНрдпрд╛рдЪреА рддреБрд▓рдирд╛ рдХрд░реВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рддрдкрд╛рд╕рддреЗ.
  2. рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдореВрд▓реНрдп рдореЗрдЯреНрд░рд┐рдХ рдореВрд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдПрдХ рдЪреЗрддрд╛рд╡рдгреА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЬрд╛рддреЗ (рддрд┐рдХреАрдЯ рдкреНрд░рдгрд╛рд▓реАрдордзреАрд▓ рдПрдХ рдШрдЯрдирд╛)

рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реНрдпрд╛рдп рез

рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдЗрддрд┐рд╣рд╛рд╕

рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдШрдЯрдирд╛рдВрдЪреЗ рдирдВрддрд░ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХреНрд╡реЗрд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдпреЛрдЬрдирд╛ рдмрджрд▓рдгреНрдпрд╛рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдЕрд╕рдгреЗ рдЪрд╛рдВрдЧрд▓реА рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ.

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

рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реНрдпрд╛рдп рез

рд╕рддрдд рдХрд╛рдордЧрд┐рд░реА рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╡реИрдпрдХреНрддрд┐рдХ рдХреНрд╡реЗрд░реАрдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ рд╣реЗ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рдд рд╕рддрдд рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╣реЗрддреВ рдирд╛рд╣реА, рдХрд╛рд░рдг рддреЗ рдХреЗрд╡рд│ рд╡реИрдпрдХреНрддрд┐рдХ рдкреНрд░рд╢реНрдирд╛рдВрд╕рд╛рдареА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рдЖрдгрд┐ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ. рддрдерд╛рдкрд┐, рддреБрдореНрд╣реА рдкрджреНрдзрдд рд╡рд╛рдврд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреНрд╡реЗрд░реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ рд╢рдХрддрд╛.

рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  • рдЕрд▓реАрдХрдбрдЪреНрдпрд╛ рджрд┐рд╡рд╕рд╛рдВрдд
  • рдмреЗрд╕ рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╛рдареА

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ pg_stat_statements рджреГрд╢реНрдпрд╛рддреВрди рдХреНрд╡реЗрд░реА рдирд┐рд╡рдбрддреЗ рдЖрдгрд┐ max_time рдореВрд▓реНрдпрд╛рдЪреА рд╕рд░рд╛рд╕рд░реА max_time рдореВрд▓реНрдпрд╛рд╢реА рддреБрд▓рдирд╛ рдХрд░рддреЗ, рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рджрд┐рд╡рд╕рд╛рдВрд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╛рдареА (рдмреЗрд╕рд▓рд╛рдЗрди), рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд.

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрдореА рдЭрд╛рд▓реНрдпрд╛рд╕, рдЕрд╣рд╡рд╛рд▓рд╛рдВрдЪреЗ рдореЕрдиреНрдпреБрдЕрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рди рдХрд░рддрд╛, рдПрдХ рдЪреЗрддрд╛рд╡рдгреА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЬрд╛рдИрд▓.

рд╕рдВрд╢реНрд▓реЗрд╖рдгрд╛рдЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз рдЖрд╣реЗ?

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

  • рдбреЗрдЯрд╛рдмреЗрд╕рджреНрд╡рд╛рд░реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреЗрд▓реЗрд▓реА рдХреНрд╡реЗрд░реА - рдЕрдореВрд░реНрдд
  • рд╕реБрдзрд╛рд░рд┐рдд рд╡рд┐рдирдВрддреА - рд╡рд┐рд░реЛрдзреА
  • рдкреНрд░рдгрд╛рд▓реАрдЪреА рд╕реНрдерд┐рддреА рдмрджрд▓рдгреЗ - рд╕рдВрд╢реНрд▓реЗрд╖рдг

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгреВрди рд╕рдВрд╢реНрд▓реЗрд╖рдг

рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╛рд╕

  • pg_stat_activity рдкреНрд░рдгрд╛рд▓реА рджреГрд╢реНрдпрд╛рд╕рд╛рдареА рдЗрддрд┐рд╣рд╛рд╕ рдЬреЛрдбреВрди рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрдХрдбреЗрд╡рд╛рд░реАрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░
  • рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ рд╕рд╣рднрд╛рдЧреА рд╣реЛрдгрд╛рд▒реНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рд╕рд╛рд░рдгреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрдХрдбреЗрд╡рд╛рд░реАрд╕рд╛рдареА рдЗрддрд┐рд╣рд╛рд╕ рдЬреЛрдбреВрди рдПрдХрддреНрд░рд┐рдд рдЖрдХрдбреЗрд╡рд╛рд░реАрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреЗ
  • AWS рдХреНрд▓рд╛рдЙрдб рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг
  • рдЖрдгрд┐ рддрд░реАрд╣реА, рдЖрдкрдг рдХрд╛рд╣реАрддрд░реА рдШреЗрдКрди рдпреЗрдК рд╢рдХрддрд╛ ...

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

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster