āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰ - āϞā§āϝāĻžāĻāĻŋāύ āĻĨā§āĻā§ āĻ
āύā§āĻŦāĻžāĻĻ - āĻ
āύā§āĻĒā§āϰāĻžāĻŖāĻŋāϤāĨ¤
āĻāĻāĻāύ āĻĒā§āϰāĻā§āĻļāϞ⧠āϏāĻŦāĻāĻŋāĻā§ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ (c) āĻāϰ. āĻĄāĻŋāĻā§āϞāĨ¤
āĻāĻĒāĻŋāĻā§āϰāĻžāĻĢāĨ¤

āĻ
āĻĨāĻŦāĻž āĻā§āύ āĻāĻāĻāύ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻ
ā§āϝāĻžāĻĄāĻŽāĻŋāύāĻŋāϏā§āĻā§āϰā§āĻāϰāĻā§ āϤāĻžāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻ
āϤā§āϤ āĻŽāύ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§ āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻāĻŋ āĻāϞā§āĻĒāĨ¤
āĻā§āĻŽāĻŋāĻāĻž
āϏāĻŽāϏā§āϤ āύāĻžāĻŽ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻŽā§āϝāĻžāĻāĻā§āϞ⧠āĻāϞā§āĻŽā§āϞā§āĨ¤ āĻāĻĒāĻžāĻĻāĻžāύ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϞā§āĻāĻā§āϰ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻŽāϤāĻžāĻŽāϤ.
āĻāϝāĻŧāĻžāϰā§āύā§āĻāĻŋāϰ āĻĻāĻžāĻŦāĻŋāϤā§āϝāĻžāĻ: āĻĒā§āϰāĻŦāύā§āϧā§āϰ āĻĒāϰāĻŋāĻāϞā§āĻĒāĻŋāϤ āϏāĻŋāϰāĻŋāĻā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āĻŦāĻŋāϞ āĻāĻŦāĻ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻā§āϞāĻŋāϰ āĻā§āύ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻŦāĻ āϏāĻ āĻŋāĻ āĻŦāϰā§āĻŖāύāĻž āĻĨāĻžāĻāĻŦā§ āύāĻžāĨ¤ āĻāĻĒāĻžāĻĻāĻžāύ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ "AS IS" āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž.
āĻĒā§āϰāĻĨāĻŽāϤ, āĻĒā§āϰāĻā§āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖā§ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ āĻāĻžāϰāĻŖā§,
āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āĻĒā§āϰāĻā§āϤ āĻā§āϰāĻžāĻšāĻā§āϰ āĻā§āĻĒāĻžāĻĻāύ āĻāĻŋāϤā§āϤāĻŋāϰ āϏāĻžāĻĨā§ āϤā§āĻā§āώā§āĻŖāϤāĻžāϰ āĻāĻžāϰāĻŖā§āĨ¤
āĻ āϤāĻāĻŦ, āύāĻŋāĻŦāύā§āϧāĻā§āϞāĻŋāϤ⧠āĻā§āĻŦāϞāĻŽāĻžāϤā§āϰ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻāĻžāϰ⧠āϧāĻžāϰāĻŖāĻž āĻāĻŦāĻ āĻŦāϰā§āĻŖāύāĻž āĻĻā§āĻāϝāĻŧāĻž āĻšāĻŦā§āĨ¤
āĻšāϝāĻŧāϤ⧠āĻāĻŦāĻŋāώā§āϝāϤ⧠āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻāĻŋāĻāĻšāĻžāĻŦā§ āĻĒā§āϏā§āĻ āĻāϰāĻžāϰ āϏā§āϤāϰ⧠āĻŦāĻžāĻĄāĻŧāĻŦā§, āĻŦāĻž āύāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŽāϝāĻŧ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāĻž āĻšāĻŦā§.
āĻāϞā§āĻĒā§āϰ āĻļā§āϰā§-Âģ.
āĻĢāϞāϏā§āĻŦāϰā§āĻĒ āϝāĻž āĻāĻā§āĻā§, āϏāĻŦāĻā§āϝāĻŧā§ āϏāĻžāϧāĻžāϰāĻŖ āĻĒāĻĻā§ - "Âģ
āĻā§āύ āĻāĻŽāĻŋ āĻāĻ āϏāĻŦ āĻĒā§āϰāϝāĻŧā§āĻāύ?
āĻāĻžāϞ, āĻĒā§āϰāĻĨāĻŽāϤ, āϝāĻžāϤ⧠āύāĻŋāĻā§āĻā§ āĻā§āϞ⧠āύāĻž āϝāĻžāϝāĻŧ, āĻ
āĻŦāϏāϰā§āϰ āĻā§āϰāĻŦāĻŽāϝāĻŧ āĻĻāĻŋāύāĻā§āϞāĻŋ āĻŽāύ⧠āĻāϰā§āĨ¤
āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāϤ, āϝāĻž āϞā§āĻāĻž āĻšāϝāĻŧā§āĻā§ āϤāĻž āĻĒāĻĻā§āϧāϤāĻŋāĻāϤ āĻāϰāĻžāĨ¤ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āύāĻŋāĻā§āϰ āĻāύā§āϝ, āĻāĻāύāĻ āĻāĻāύāĻ āĻāĻŽāĻŋ āĻŦāĻŋāĻā§āϰāĻžāύā§āϤ āĻšāϤ⧠āĻļā§āϰ⧠āĻāϰāĻŋ āĻāĻŦāĻ āĻĒā§āĻĨāĻ āĻ
āĻāĻļāĻā§āϞāĻŋ āĻā§āϞ⧠āϝāĻžāĻāĨ¤
āĻāĻžāϞ, āĻāĻŦāĻ āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ - āĻšāĻ āĻžā§ āĻāĻāĻŋ āĻāĻžāϰāĻ āĻĒāĻā§āώ⧠āĻāĻžāϰā§āϝāĻāϰ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻāĻžāĻāĻžāĻāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻĻā§āĻāĻžāĻŦāύ āύāĻž āĻāϰāϤ⧠āĻāĻŦāĻ āϰā§āĻ āϏāĻāĻā§āϰāĻš āύāĻž āĻāϰāϤ⧠āϏāĻšāĻžāϝāĻŧāϤāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻ āύā§āϝ āĻāĻĨāĻžāϝāĻŧ, āĻāĻĒāύāĻžāϰ āĻāϰā§āĻŽāĻĢāϞ āĻāύā§āύāϤ āĻāϰā§āύ (āĻāĻŦāϰāĻāϏā§āĻāĻŋ āύāϝāĻŧ)āĨ¤ āĻāĻ āĻĒā§āĻĨāĻŋāĻŦā§āϤ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻŽā§āϞā§āϝāĻŦāĻžāύ āĻāĻŋāύāĻŋāϏ āĻšāϞ āϧāĻžāϰāĻŖāĻž. āĻĒā§āϰāϧāĻžāύ āĻāĻŋāύāĻŋāϏ āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖāĻž āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻŦāĻ āϧāĻžāϰāĻŖāĻžāĻāĻŋāĻā§ āĻŦāĻžāϏā§āϤāĻŦā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āϏāĻŽāϏā§āϝāĻžāĨ¤
āϤāĻžāĻ āĻāϏā§āϤ⧠āĻāϏā§āϤ⧠āĻļā§āϰ⧠āĻāϰāĻž āϝāĻžāĻ...
āϏāĻŽāϏā§āϝāĻž āĻĒā§āϰāĻŖāϝāĻŧāύ.
āĻāĻĒāϞāĻŦā§āϧ:
PostgreSQL(10.5), āĻŽāĻŋāĻļā§āϰ āϞā§āĻĄ (OLTP+DSS), āĻŽāĻžāĻāĻžāϰāĻŋ āĻĨā§āĻā§ āĻšāĻžāϞāĻāĻž āϞā§āĻĄ, AWS āĻā§āϞāĻžāĻāĻĄā§ āĻšā§āϏā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āĻā§āύ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āύā§āĻ, āĻ
āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāĻāĻāĻŋ āύā§āϝā§āύāϤāĻŽ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ AWS āϏāϰāĻā§āĻāĻžāĻŽ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻĒā§āϰāϝāĻŧā§āĻāύ:
āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāĻŦāĻ āϏā§āĻĨāĻŋāϤāĻŋ āύāĻŋāϰā§āĻā§āώāĻŖ āĻāϰā§āύ, āĻāĻžāϰ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĒā§āϰāĻļā§āύāĻā§āϞāĻŋ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϤāĻĨā§āϝ āĻā§āĻāĻā§āύ āĻāĻŦāĻ āĻāĻā§āĨ¤
āϏāĻŽāĻžāϧāĻžāύā§āϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻā§āĻŽāĻŋāĻāĻž āĻŦāĻž āĻŦāĻŋāĻļā§āϞā§āώāĻŖ
āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāϏā§āύ āĻĒā§āϰāĻā§āĻļāϞā§āϰ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŦāĻ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋāϰ āϤā§āϞāύāĻžāĻŽā§āϞāĻ āĻŦāĻŋāĻļā§āϞā§āώāĻŖā§āϰ āĻĻā§āώā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŋ āĻāĻŦāĻ āϝāĻžāϰāĻž āĻāϰā§āĻŽā§āĻĻā§āϰ āϤāĻžāϞāĻŋāĻāĻžāϝāĻŧ āĻĨāĻžāĻāĻžāϰ āĻāĻĨāĻž āϤāĻžāĻĻā§āϰ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŦāĻ āĻā§āώāϤāĻŋāϰ āϏāĻžāĻĨā§ āĻŽā§āĻāĻžāĻŦāĻŋāϞāĻž āĻāϰāϤ⧠āĻĻāĻŋāύāĨ¤ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻžāϰ
āĻŦāĻŋāĻāϞā§āĻĒ 1 - "āĻāĻžāĻšāĻŋāĻĻāĻž āĻ āύā§āϝāĻžāϝāĻŧā§ āĻāĻžāĻ āĻāϰāĻž"
āĻāĻŽāϰāĻž āϏāĻŦāĻāĻŋāĻā§ āϝā§āĻŽāύ āĻāĻā§ āϰā§āĻā§ āĻĻāĻŋāĻāĨ¤ āϝāĻĻāĻŋ āĻā§āϰāĻžāĻšāĻ āϏā§āĻŦāĻžāϏā§āĻĨā§āϝ, āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻŦāĻž āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āϏāύā§āϤā§āώā§āĻ āύāĻž āĻšāύ āϤāĻŦā§ āϤāĻŋāύāĻŋ āĻ-āĻŽā§āĻāϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŦāĻž āĻāĻŋāĻāĻŋāĻ āĻŦāĻžāĻā§āϏ⧠āĻāĻāĻāĻŋ āĻāĻāύāĻž āϤā§āϰāĻŋ āĻāϰ⧠āĻĄāĻŋāĻŦāĻŋāĻ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻĻā§āϰ āĻ
āĻŦāĻšāĻŋāϤ āĻāϰāĻŦā§āύāĨ¤
āĻāĻāĻāύ āĻĒā§āϰāĻā§āĻļāϞā§, āĻāĻāĻāĻŋ āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋ āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻĒāϰ, āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŦā§āĻāĻŦā§āύ, āĻāĻāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻ
āĻĢāĻžāϰ āĻāϰāĻŦā§āύ āĻŦāĻž āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻŦā§āύ, āĻāĻ āĻāĻļāĻžāϝāĻŧ āϝ⧠āϏāĻŦāĻāĻŋāĻā§ āύāĻŋāĻā§āĻ āϏāĻŽāĻžāϧāĻžāύ āĻšāĻŦā§ āĻāĻŦāĻ āϝāĻžāĻāĻšā§āĻ, āϏāĻŦāĻāĻŋāĻā§ āĻļā§āĻā§āϰāĻ āĻā§āϞ⧠āϝāĻžāĻŦā§āĨ¤
āĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ, āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāĻŽā§āĻĒāϏāĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ:
1. āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻŋāĻā§ āĻāϰāĻžāϰ āύā§āĻ
2. āϏāĻŦāϏāĻŽāϝāĻŧ āĻŦāĻžāĻāϰ⧠āĻŦā§āϰ āĻšāϝāĻŧā§ āύā§āĻāϰāĻž āĻāϰāĻžāϰ āϏā§āϝā§āĻ āĻĨāĻžāĻā§āĨ¤
3. āĻ
āύā§āĻ āϏāĻŽāϝāĻŧ āϝāĻž āĻāĻĒāύāĻŋ āύāĻŋāĻā§āϰ āĻāύā§āϝ āĻŦā§āϝāϝāĻŧ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāϧāĻž:
1. āĻļā§āĻā§āϰāĻ āĻŦāĻž āĻĒāϰā§, āĻā§āϰāĻžāĻšāĻ āĻāĻ āĻĒā§āĻĨāĻŋāĻŦā§āϤ⧠āϏāϤā§āϤāĻž āĻāĻŦāĻ āϏāϰā§āĻŦāĻāύā§āύ āύā§āϝāĻžāϝāĻŧāĻŦāĻŋāĻāĻžāϰā§āϰ āϏāĻžāϰāĻŽāϰā§āĻŽ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋāύā§āϤāĻž āĻāϰāĻŦā§āύ āĻāĻŦāĻ āύāĻŋāĻā§āĻā§ āĻāĻŦāĻžāϰ āĻĒā§āϰāĻļā§āύ āĻāϰāĻŦā§āύ - āĻā§āύ āĻāĻŽāĻŋ āϤāĻžāĻĻā§āϰ āĻāĻŽāĻžāϰ āĻ
āϰā§āĻĨ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻāĻŋ? āĻĢāϞāĻžāĻĢāϞ āϏāϰā§āĻŦāĻĻāĻž āĻāĻāĻ - āĻāĻāĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻļā§āύ āϝāĻāύ āĻā§āϰāĻžāĻšāĻ āĻŦāĻŋāϰāĻā§āϤ āĻšāϝāĻŧ āĻāĻŦāĻ āĻŦāĻŋāĻĻāĻžāϝāĻŧ āύā§āĻŦā§āĨ¤ āĻāϰ āĻĢāĻŋāĻĄāĻžāϰ āĻāĻžāϞāĻŋāĨ¤ āĻāĻāĻž āĻĻā§āĻāĻāĻāύāĻ.
2. āĻāĻāĻāύ āĻĒā§āϰāĻā§āĻļāϞā§āϰ āĻŦāĻŋāĻāĻžāĻļ āĻļā§āύā§āϝāĨ¤
3. āĻāĻžāĻ āĻāĻŦāĻ āϞā§āĻĄ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāϰā§āϧāĻžāϰāĻŖā§ āĻ
āϏā§āĻŦāĻŋāϧāĻž
āĻŦāĻŋāĻāϞā§āĻĒ 2 - "āĻāĻā§āĻāĻŋāϰ āϏāĻžāĻĨā§ āύāĻžāĻ, āĻā§āϤāĻž āĻĒāϰ⧠āĻāĻŦāĻ āĻĒāϰā§āύ"
āĻ
āύā§āĻā§āĻā§āĻĻ 1-āĻā§āύ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻŽāύāĻŋāĻāϰāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻĒā§āϰāϝāĻŧā§āĻāύ, āĻāĻŽāϰāĻž āϏāĻŦ āĻ
āύā§āϰā§āϧ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āĻšāĻŦā§. āĻāĻŽāϰāĻž āĻĄā§āĻāĻž āĻ
āĻāĻŋāϧāĻžāύ āĻāĻŦāĻ āĻāϤāĻŋāĻļā§āϞ āĻĻā§āĻļā§āϝāĻā§āϞāĻŋāϤ⧠āϏāĻŽāϏā§āϤ āϧāϰāĻŖā§āϰ āĻĒā§āϰāĻļā§āύā§āϰ āĻāĻāĻāĻŋ āĻā§āĻā§āĻ āĻāĻžāϞ⧠āĻāϰāĻŋ, āϏāĻŽāϏā§āϤ āϧāϰāĻŖā§āϰ āĻāĻžāĻāύā§āĻāĻžāϰ āĻāĻžāϞ⧠āĻāϰāĻŋ, āϏāĻŦāĻāĻŋāĻā§āĻā§ āĻā§āĻŦāĻŋāϞ⧠āύāĻŋāϝāĻŧā§ āĻāϏāĻŋ, āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϰāĻŽā§ āϤāĻžāϞāĻŋāĻāĻž āĻāĻŦāĻ āĻā§āĻŦāĻŋāϞ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰāĻŋ, āϝā§āĻŽāύāĻāĻŋ āĻāĻŋāϞāĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āϏā§āύā§āĻĻāϰ āĻŦāĻž āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻā§āϰāĻžāĻĢ, āĻā§āĻŦāĻŋāϞ, āϰāĻŋāĻĒā§āϰā§āĻ āύā§āĻāĨ¤ āĻĒā§āϰāϧāĻžāύ āĻāĻŋāύāĻŋāϏ - āϝ⧠āĻāϰā§, āĻāϰ⧠āĻšāĻŦā§.
āĻ
āύā§āĻā§āĻā§āĻĻ 2- āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āϤā§āϰāĻŋ āĻāϰā§āύ - āĻāĻ āϏāĻŽāϏā§āϤ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāĻžāϞāĻžāύāĨ¤
āĻ
āύā§āĻā§āĻā§āĻĻ 3-āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻĨāĻŋ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻāĻŋ, āĻāĻŽāϰāĻž āĻāĻ āύāĻĨāĻŋāĻāĻŋāĻā§ āĻŦāϞāĻŋ, āϏāĻšāĻāĻāĻžāĻŦā§ - "āĻāĻŽāϰāĻž āĻā§āĻāĻžāĻŦā§ āĻĄāĻžāĻāĻžāĻŦā§āϏ āϏāĻā§āĻāĻŋāϤ āĻāϰāĻŦāĨ¤"
āĻ
āύā§āĻā§āĻā§āĻĻ 4- āĻā§āϰāĻžāĻšāĻ, āĻā§āϰāĻžāĻĢ āĻāĻŦāĻ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύā§āϰ āĻāĻ āϏāĻŽāϏā§āϤ āĻŽāĻšāĻŋāĻŽāĻž āĻĻā§āĻā§, āĻāĻāĻāĻŋ āĻļāĻŋāĻļā§āϏā§āϞāĻ āύāĻŋāϰā§āĻŦā§āϧ āĻāϤā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāϏ⧠- āĻāĻāύ āϏāĻŦāĻāĻŋāĻā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āĻāĻžāĻ āĻāϰāĻŦā§, āĻļā§āĻā§āϰāĻāĨ¤ āĻāĻŦāĻ, āϏāĻšāĻā§ āĻāĻŦāĻ āĻŦā§āϝāĻĨāĻžāĻšā§āύāĻāĻžāĻŦā§ āϤāĻžāĻĻā§āϰ āĻāϰā§āĻĨāĻŋāĻ āϏāĻāϏā§āĻĨāĻžāύāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻ
āĻāĻļ āύāĻŋāύāĨ¤ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻžāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻā§āĻļāϞā§āϰāĻž āĻāĻ ā§āϰ āĻĒāϰāĻŋāĻļā§āϰāĻŽ āĻāϰāĻā§āύāĨ¤ āϏāϰā§āĻŦā§āĻā§āĻ āϞā§āĻĄ āĻšāĻā§āĻā§āĨ¤
āĻ
āύā§āĻā§āĻā§āĻĻ 5- āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āϧāĻžāĻĒ 1 āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋ āĻāϰā§āύ.
āĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ, āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāĻŽā§āĻĒāϏāĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ:
1. āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻāĻŦāĻ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻĻā§āϰ āĻā§āĻŦāύ āϏāĻšāĻ, āĻ
āύā§āĻŽāĻžāύāϝā§āĻā§āϝ āĻāĻŦāĻ āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒā§ āĻĒāϰāĻŋāĻĒā§āϰā§āĻŖāĨ¤ āϏāĻŦāĻ āĻā§āĻā§āĻāύ, āϏāĻŦāĻžāĻ āĻŦā§āϝāϏā§āϤāĨ¤
2. āĻā§āϰāĻžāĻšāĻā§āϰ āĻā§āĻŦāύāĻ āĻāĻžāϰāĻžāĻĒ āύāϝāĻŧ - āϤāĻŋāύāĻŋ āϏāϰā§āĻŦāĻĻāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āϝ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻāĻā§ āϧā§āϰā§āϝ āϧāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āϏāĻŦāĻāĻŋāĻā§ āĻāĻžāϰā§āϝāĻāϰ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻžāϞ āĻšāĻā§āĻā§ āύāĻž, āĻāĻžāϞ, āĻāĻžāϞ - āĻāĻ āĻĒā§āĻĨāĻŋāĻŦā§ āĻ
āύā§āϝāĻžāϝāĻŧ, āĻĒāϰāĻŦāϰā§āϤ⧠āĻā§āĻŦāύ⧠- āĻāĻĒāύāĻŋ āĻāĻžāĻā§āϝāĻŦāĻžāύ āĻšāĻŦā§āύāĨ¤
āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāϧāĻž:
1. āĻļā§āĻā§āϰāĻ āĻŦāĻž āĻĒāϰā§, āĻāĻāĻāĻŋ āĻ
āύā§āϰā§āĻĒ āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻāĻāĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰ⧠āĻĨāĻžāĻāĻŦā§ āϝ⧠āĻāĻāĻ āĻāĻŋāύāĻŋāϏ āĻāϰāĻŦā§, āĻāĻŋāύā§āϤ⧠āĻāĻāĻā§ āϏāϏā§āϤāĻžāĨ¤ āĻāϰ āϰā§āĻāĻžāϞā§āĻ āĻāĻāĻ āĻšāϞ⧠āĻā§āύ āĻŦā§āĻļāĻŋ āĻĻāĻŋāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻž āĻāĻŦāĻžāϰ āĻĢāĻŋāĻĄāĻžāϰā§āϰ āĻ
āύā§āϤāϰā§āϧāĻžāύā§āϰ āĻĻāĻŋāĻā§ āύāĻŋāϝāĻŧā§ āϝāĻžāĻŦā§āĨ¤
2. āĻāĻāĻž āĻŦāĻŋāϰāĻā§āϤāĻŋāĻāϰ. āĻā§āύ āϏāĻžāĻŽāĻžāύā§āϝ āĻ
āϰā§āĻĨāĻĒā§āϰā§āĻŖ āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āĻā§āĻŽāύ āĻŦāĻŋāϰāĻā§āϤāĻŋāĻāϰāĨ¤
3. āĻāĻā§āϰ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻŽāϤ⧠- āĻā§āύ āĻāύā§āύāϝāĻŧāύ āύā§āĻāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻāĻāύ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰā§āϰ āĻāύā§āϝ, āĻŦāĻŋāϝāĻŧā§āĻ āĻšāϞ āĻĒā§āϰāĻĨāĻŽ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻŦāĻŋāĻĒāϰā§āϤā§, āĻāĻāĻžāύ⧠āĻāĻĒāύāĻžāĻā§ āĻā§āϰāĻŽāĻžāĻāϤ āĻāĻāĻāĻŋ IDB āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āϝ⧠āϏāĻŽāϝāĻŧ āϞāĻžāĻā§. āϝāĻž āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻŋāϝāĻŧāĻāύā§āϰ āĻāĻĒāĻāĻžāϰ⧠āĻŦā§āϝāϝāĻŧ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻžāϰāĻŖ āĻāĻĒāύāĻŋ āύāĻŋāĻā§āϰ āϝāϤā§āύ āύāĻŋāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž, āϏāĻŦāĻžāĻ āĻāĻĒāύāĻžāϰ āϝāϤā§āύ āύā§āϝāĻŧāĨ¤
āĻŦāĻŋāĻāϞā§āĻĒ 3- āĻāĻāĻāĻŋ āϏāĻžāĻāĻā§āϞ āĻāĻĻā§āĻāĻžāĻŦāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ, āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āĻāĻŋāύāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāϞāĻžāϤ⧠āĻšāĻŦā§āĨ¤
āĻ
āύā§āϝāĻžāύā§āϝ āĻā§āĻŽā§āĻĒāĻžāύāĻŋāϰ āĻĒā§āϰāĻā§āĻļāϞā§āϰāĻž āĻā§āύā§āĻļā§āύ⧠āĻŦāĻŋāϝāĻŧāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻĒāĻŋā§āĻāĻž āĻāĻžāύ (āĻāĻš, 90 āĻāϰ āĻĻāĻļāĻā§ āϏā§āύā§āĻ āĻĒāĻŋāĻāĻžāϰā§āϏāĻŦāĻžāϰā§āĻā§āϰ āĻāĻžāϞ āϏāĻŽāϝāĻŧ)āĨ¤ āĻāϏā§āύ āĻŽāύāĻŋāĻāϰāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ āϝā§āĻā§āϞāĻŋ āϤā§āϰāĻŋ, āĻĄāĻŋāĻŦāĻžāĻ āĻāϰāĻž āĻāĻŦāĻ āĻāĻžāĻ āĻāϰ⧠āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĻāϰāĻāĻžāϰ⧠(āĻāĻžāϞ, āĻ
āύā§āϤāϤ āϤāĻžāĻĻā§āϰ āύāĻŋāϰā§āĻŽāĻžāϤāĻžāĻĻā§āϰ āĻāύā§āϝ)āĨ¤
āĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ, āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāĻŽā§āĻĒāϏāĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻāϏ:
1. āĻāϤāĻŋāĻŽāϧā§āϝ⧠āϝāĻž āĻāĻĻā§āĻāĻžāĻŦāĻŋāϤ āĻšāϝāĻŧā§āĻā§ āϤāĻž āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰāϤ⧠āϏāĻŽāϝāĻŧ āύāώā§āĻ āĻāϰāĻžāϰ āĻĻāϰāĻāĻžāϰ āύā§āĻāĨ¤ āύāĻŋāύ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
2. āĻŽāύāĻŋāĻāϰāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦā§āĻāĻžāĻĻā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āϞā§āĻāĻž āĻšāϝāĻŧ āύāĻž, āĻāĻŦāĻ āĻ
āĻŦāĻļā§āϝāĻ āϤāĻžāϰāĻž āĻĻāϰāĻāĻžāϰā§āĨ¤
3. āĻāϰā§āĻŽāϰāϤ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āϏāĻŋāϏā§āĻā§āĻŽ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĻāϰāĻāĻžāϰ⧠āĻĢāĻŋāϞā§āĻāĻžāϰ āĻāϰāĻž āϤāĻĨā§āϝ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
āĻā§āώāϤ āĻāĻŦāĻ āĻŦāĻžāϧāĻž:
1. āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻĒā§āϰāĻā§āĻļāϞ⧠āĻāĻāĻāύ āĻĒā§āϰāĻā§āĻļāϞ⧠āύāϝāĻŧ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ
āύā§āϝ āĻāĻžāϰ⧠āĻĒāĻŖā§āϝā§āϰ āĻāĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻŦāĻž āĻāĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĨ¤
2. āĻā§āϰāĻžāĻšāĻāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻŽāύ āĻāĻŋāĻā§ āĻā§āύāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āύāĻŋāĻļā§āĻāĻŋāϤ āĻšāϤ⧠āĻšāĻŦā§ āϝāĻž āϏ⧠āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦā§āĻāϤ⧠āĻāĻžāϝāĻŧ āύāĻž āĻāĻŦāĻ āϤāĻžāϰ āĻāĻāĻŋāϤ āύāϝāĻŧ āĻāĻŦāĻ āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻŦāĻāϰā§āϰ āĻāύā§āϝ āĻŦāĻžāĻā§āĻ āĻ
āύā§āĻŽā§āĻĻāĻŋāϤ āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāĻŦā§ āύāĻžāĨ¤ āϤāĻžāϰāĻĒāϰ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āϏāĻāϏā§āĻĨāĻžāύ āĻŦāϰāĻžāĻĻā§āĻĻ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāύā§āϝ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϏā§āĻā§āϞā§. āĻĒā§āϰāĻĨāĻŽā§ āĻāĻĒāύāĻžāĻā§ āĻ
āϰā§āĻĨāĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻšāĻŦā§, āĻĒāϰāĻŋāĻļā§āϧ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻŦāĻžāϰ āĻ
āϰā§āĻĨ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāϰ āĻā§āϰāĻžāĻšāĻ āĻā§āĻĒāĻŖāĨ¤ āĻāĻāĻžāĻ āĻāĻ āĻā§āĻŦāύā§āϰ āĻāĻĻāϰā§āĻļāĨ¤
āĻāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§, Chernyshevsky? āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻļā§āύ āĻā§āĻŦ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ. (āϏāĻā§āĻā§)
āĻāĻ āĻŦāĻŋāĻļā§āώ āĻā§āώā§āϤā§āϰ⧠āĻāĻŦāĻ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤā§, āĻāĻĒāύāĻŋ āĻāĻāĻā§ āĻāĻŋāύā§āύāĻāĻžāĻŦā§ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ - āĻāϏā§āύ āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāĻāϏā§āĻŦ āĻŽāύāĻŋāĻāϰāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āϤā§āϰāĻŋ āĻāϰāĻŋāĨ¤

āĻ āĻŋāĻ āĻāĻā§, āĻāĻāĻāĻŋ āϏāĻŋāϏā§āĻā§āĻŽ āύāϝāĻŧ, āĻ
āĻŦāĻļā§āϝāĻ, āĻļāĻŦā§āĻĻā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻ
āϰā§āĻĨā§, āĻāĻāĻŋ āĻā§āĻŦ āĻā§āϰ⧠āĻāĻŦāĻ āĻ
āĻāĻŋāĻŽāĻžāύā§, āϤāĻŦā§ āĻ
āύā§āϤāϤ āĻā§āύāĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āύāĻŋāĻā§āϰ āĻāύā§āϝ āϏāĻšāĻ āĻāϰ⧠āϤā§āϞā§āύ āĻāĻŦāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāĻāύāĻžāĻā§āϞāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāϰāĻ āϤāĻĨā§āϝ āϏāĻāĻā§āϰāĻš āĻāϰā§āύāĨ¤ āύāĻŋāĻā§āĻā§ āĻāĻŽāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻā§āĻāĻā§ āύāĻž āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ - "āϏā§āĻāĻžāύ⧠āϝāĻžāύ, āĻāĻŽāĻŋ āĻā§āĻĨāĻžāϝāĻŧ āĻāĻžāύāĻŋ āύāĻž, āĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒāĻžāĻ, āĻāĻŽāĻŋ āĻā§ āĻāĻžāύāĻŋ āύāĻžāĨ¤"
āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŦāĻ āĻ āϏā§āĻŦāĻŋāϧāĻž āĻāĻŋ:
āĻĒā§āĻļāĻžāĻĻāĻžāϰāϰāĻž:
1. āĻāĻāĻž āĻāĻāϰā§āώāĻŖā§āϝāĻŧ. āĻ āĻŋāĻ āĻāĻā§, āϧā§āϰā§āĻŦāĻ "āϏāĻā§āĻā§āĻāĻŋāϤ āĻĄā§āĻāĻžāĻĢāĻžāĻāϞ, āĻā§āĻŦāĻŋāϞāϏā§āĻĒā§āϏ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϤā§āϝāĻžāĻĻāĻŋ" āĻāϰ āĻā§āϝāĻŧā§ āĻ
āύā§āϤāϤ āĻāϰāĻ āĻāĻāϰā§āώāĻŖā§āϝāĻŧāĨ¤
2. āĻāĻā§āϞāĻŋ āĻšāϞ āύāϤā§āύ āĻĻāĻā§āώāϤāĻž āĻāĻŦāĻ āύāϤā§āύ āĻŦāĻŋāĻāĻžāĻļāĨ¤ āϝāĻž āĻāĻŦāĻŋāώā§āϝāϤā§, āĻļā§āĻā§āϰāĻ āĻŦāĻž āĻĒāϰā§, āĻāĻžāϞ āĻĒā§āϰāĻžāĻĒā§āϝ āĻāĻŋāĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄ āĻāĻŦāĻ āĻĄā§āύāĻžāĻ āĻĻā§āĻŦā§āĨ¤
āĻāύāϏ:
1. āĻāĻžāĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻ
āύā§āĻ āĻāĻžāĻ āĻāϰ.
2. āĻāĻĒāύāĻžāĻā§ āύāĻŋāϝāĻŧāĻŽāĻŋāϤāĻāĻžāĻŦā§ āϏāĻŽāϏā§āϤ āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒā§āϰ āĻ
āϰā§āĻĨ āĻāĻŦāĻ āĻĻā§āώā§āĻāĻŋāĻāĻā§āĻāĻŋ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
3. āĻāĻŋāĻā§ āϤā§āϝāĻžāĻ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻžāϰāĻŖ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāĻĒāϞāĻŦā§āϧ āĻāĻāĻŽāĻžāϤā§āϰ āϏāĻŽā§āĻĒāĻĻ - āϏāĻŽāϝāĻŧ - āĻŽāĻšāĻžāĻŦāĻŋāĻļā§āĻŦ āĻĻā§āĻŦāĻžāϰāĻž āϏā§āĻŽāĻŋāϤāĨ¤
4. āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻžāϰāĻžāĻĒ āĻāĻŦāĻ āϏāĻŦāĻā§āϝāĻŧā§ āĻ
āĻĒā§āϰā§āϤāĻŋāĻāϰ - āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, "āĻāĻāĻāĻŋ āĻāĻāĻĻā§āϰ āύāϝāĻŧ, āĻāĻāĻāĻŋ āĻŦā§āϝāĻžāĻ āύāϝāĻŧ, āϤāĻŦā§ āĻāĻāĻāĻŋ āĻ
āĻāĻžāύāĻž āĻā§āĻ āĻĒā§āϰāĻžāĻŖā§" āĻāϰ āĻŽāϤ⧠āĻāĻŦāϰā§āĻāύāĻž āĻŦā§āϰāĻŋāϝāĻŧā§ āĻāϏāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻā§ āĻāĻŋāĻā§ āĻā§āĻāĻāĻŋ āύāĻž āĻļā§āϝāĻžāĻŽā§āĻĒā§āύ āĻĒāĻžāύ āύāĻž.
āϏā§āϤāϰāĻžāĻ, āĻŽāĻāĻž āĻļā§āϰ⧠āĻšāϝāĻŧ.
āϏāĻžāϧāĻžāϰāĻŖ āϧāĻžāϰāĻŖāĻž - āĻĒāϰāĻŋāĻāϞā§āĻĒāĻŋāϤ

(āĻāϰā§āĻāĻŋāĻā§āϞ āĻĨā§āĻā§ āύā§āĻāϝāĻŧāĻž āĻāĻŋāϤā§āϰ ÂĢ")
āĻŦā§āϝāĻžāĻā§āϝāĻž:
- āϞāĻā§āώā§āϝ āĻĄāĻžāĻāĻžāĻŦā§āϏ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ PostgreSQL āĻāĻā§āϏāĻā§āύāĻļāύ "pg_stat_statements" āĻāϰ āϏāĻžāĻĨā§ āĻāύāϏā§āĻāϞ āĻāϰāĻž āĻāĻā§āĨ¤
- āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻĄāĻžāĻāĻžāĻŦā§āϏā§, āĻāĻŽāϰāĻž āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĒāϰā§āϝāĻžāϝāĻŧā§ pg_stat_statements āĻāϤāĻŋāĻšāĻžāϏ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻŦāĻŋāώā§āϝāϤ⧠āĻŽā§āĻā§āϰāĻŋāĻā§āϏ āĻāĻŦāĻ āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻĒāϰāĻŋāώā§āĻŦāĻž āĻā§āĻŦāĻŋāϞā§āϰ āĻāĻāĻāĻŋ āϏā§āĻ āϤā§āϰāĻŋ āĻāϰāĻŋ
- āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻšā§āϏā§āĻā§, āĻāĻŽāϰāĻž āĻŦā§āϝāĻžāĻļ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻāĻāĻāĻŋ āϏā§āĻ āϤā§āϰāĻŋ āĻāϰāĻŋ, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻŋāĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻāĻāύāĻž āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝāĻ āϰāϝāĻŧā§āĻā§āĨ¤
āϏā§āĻŦāĻž āĻā§āĻŦāĻŋāϞ
āĻļā§āϰā§āϤā§, āĻāĻāĻāĻŋ āĻĒāϰāĻŋāĻāϞā§āĻĒāĻŋāϤāĻāĻžāĻŦā§ āϏāϰāϞā§āĻā§āϤ ERD, āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻā§ āĻšāϝāĻŧā§āĻāĻŋāϞ:

āĻā§āĻŦāĻŋāϞā§āϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻŦāĻŋāĻŦāϰāĻŖāĻļā§āώāĻŦāĻŋāύā§āĻĻā§ - āĻšā§āϏā§āĻ, āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āϏāĻāϝā§āĻ āĻŦāĻŋāύā§āĻĻā§
āĻĄāĻžāĻāĻžāĻŦā§āĻ - āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻŦāĻŋāĻāϞā§āĻĒ
pg_stat_history - āϞāĻā§āώā§āϝ āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ pg_stat_statements āĻĻā§āĻļā§āϝā§āϰ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§ āϏā§āύā§āϝāĻžāĻĒāĻļāĻ āϏāĻāϰāĻā§āώāĻŖā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻšāĻžāϏāĻŋāĻ āĻā§āĻŦāĻŋāϞ
metric_glossary - āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻŽā§āĻā§āϰāĻŋāĻā§āϏā§āϰ āĻ
āĻāĻŋāϧāĻžāύ
metric_config - āϏā§āĻŦāϤāύā§āϤā§āϰ āĻŽā§āĻā§āϰāĻŋāĻā§āϏā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ
āĻāύā§āĻĻā§āĻŽāϝāĻŧ - āĻ
āύā§āϰā§āϧā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŽā§āĻā§āϰāĻŋāĻ āϝāĻž āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāϰāĻž āĻšāĻā§āĻā§
āĻŽā§āĻā§āϰāĻŋāĻ_āϏāϤāϰā§āĻāϤāĻžāϰ_āĻāϤāĻŋāĻšāĻžāϏ - āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āϏāϤāϰā§āĻāϤāĻžāϰ āĻāϤāĻŋāĻšāĻžāϏ
log_query - AWS āĻĨā§āĻā§ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž PostgreSQL āϞāĻ āĻĢāĻžāĻāϞ āĻĨā§āĻā§ āĻĒāĻžāϰā§āϏāĻĄ āϰā§āĻāϰā§āĻĄ āϏāĻāϰāĻā§āώāĻŖā§āϰ āĻāύā§āϝ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻā§āĻŦāĻŋāϞ
āĻŦā§āϏāϞāĻžāĻāύ - āĻŦā§āϏ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āϏāĻŽāϝāĻŧāĻāĻžāϞā§āϰ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
āĻā§āĻā§āĻĒāĻāĻŖā§āĻ - āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āϏā§āĻĨāĻŋāϤāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻŽā§āĻā§āϰāĻŋāĻā§āϏā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ
āĻā§āĻāĻĒāϝāĻŧā§āύā§āĻ_āϏāϤāϰā§āĻāϤāĻž_āĻāϤāĻŋāĻšāĻžāϏ - āĻĄāĻžāĻāĻžāĻŦā§āϏ āϏā§āĻā§āϝāĻžāĻāĻžāϏ āĻā§āĻ āĻŽā§āĻā§āϰāĻŋāĻā§āϏā§āϰ āϏāϤāϰā§āĻāϤāĻž āĻāϤāĻŋāĻšāĻžāϏ
pg_stat_db_queries - āϏāĻā§āϰāĻŋāϝāĻŧ āĻ
āύā§āϰā§āϧā§āϰ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻā§āĻŦāĻŋāϞ
āĻāĻžāϰā§āϝ āĻŦāĻŋāĻŦāϰāĻŖ â āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āϞāĻ āϏā§āĻŦāĻž āĻā§āĻŦāĻŋāϞ
trap_oid - āĻĢāĻžāĻāĻĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻā§āĻŦāĻŋāϞ
āĻĒāϰā§āϝāĻžāϝāĻŧ 1 - āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āϏāĻāĻā§āϰāĻš āĻāϰā§āύ āĻāĻŦāĻ āϰāĻŋāĻĒā§āϰā§āĻ āĻĒāĻžāύ
āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύāĻāϤ āϤāĻĨā§āϝ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ pg_stat_history
pg_stat_history āĻā§āĻŦāĻŋāϞ āĻāĻ āύ
āĻā§āĻŦāĻŋāϞ "public.pg_stat_history" āĻāϞāĻžāĻŽ | āĻĒā§āϰāĻāĻžāϰ | āϏāĻāĻļā§āϧāĻ--------------------------------------------------------------- -------------------------------- āĻāĻāĻĄāĻŋ | āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž | āύāĻžāϞ āĻĄāĻŋāĻĢāϞā§āĻ āύā§āĻā§āϏāĻāĻāĻžāϞ āύāϝāĻŧ('pg_stat_history_id_seq'::regclass) snapshot_timestamp | āĻāĻžāĻāĻŽāĻā§āύ āĻāĻžāĻĄāĻŧāĻž āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ | database_id | āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž | dbid | oid | userid | oid | queryid | bigint | āĻĒā§āϰāĻļā§āύ | āĻĒāĻžāĻ ā§āϝ | āĻāϞ | bigint | āĻŽā§āĻ_āϏāĻŽāϝāĻŧ | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | āĻŽāĻŋāύāĻŋāĻ_āϏāĻŽāϝāĻŧ | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | āϏāϰā§āĻŦā§āĻā§āĻ_āϏāĻŽāϝāĻŧ | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | āĻŽāĻžāύā§_āϏāĻŽāϝāĻŧ | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | stddev_time | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | āϏāĻžāϰāĻŋ | bigint | shared_blks_hit | bigint | shared_blks_read | bigint | shared_blks_dirtied | bigint | shared_blks_written | bigint | local_blks_hit | bigint | local_blks_read | bigint | local_blks_dirtied | bigint | local_blks_written | bigint | temp_blks_read | bigint | temp_blks_written | bigint | blk_read_time | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | blk_write_time | āĻĻā§āĻŦāĻŋāĻā§āĻŖ āύāĻŋāϰā§āĻā§āϞāϤāĻž | āĻŦā§āϏāϞāĻžāĻāύ_āĻāĻāĻĄāĻŋ | āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž | āϏā§āĻā§āĻā§āϞāĻŋ: "pg_stat_history_pkey" āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻā§, btree (id) "database_idx" btree (database_id) "queryid_idx" btree (queryid) "snapshot_timestamp_idx" btree (snapshot_timestamp) "āĻŦāĻŋāĻĻā§āĻļā§-āĻā§: IG_FDASEKEYS" (āĻāĻāĻāĻŋ-āĻāĻāĻĄāĻŋ) āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻ āĻāĻāĻĄāĻŋ) āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĄāĻžāĻāĻžāĻŦā§āϏ (āĻāĻāĻĄāĻŋ ) āĻĄāĻŋāϞāĻŋāĻ āĻā§āϝāĻžāϏāĻā§āĻĄā§āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻā§āύ, āĻā§āĻŦāĻŋāϞāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻā§āϰāĻŽāĻŦāϰā§āϧāĻŽāĻžāύ āĻāĻŋāĻ āĻĄā§āĻāĻž pg_stat_statements āϞāĻā§āώā§āϝ āĻĄāĻžāĻāĻžāĻŦā§āϏā§.
āĻāĻ āĻā§āĻŦāĻŋāϞā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻā§āĻŦāĻ āϏāĻšāĻāĨ¤
pg_stat_history āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύā§āĻāĻžāϰ āĻāύā§āϝ āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āϏāĻā§āĻāĻŋāϤ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻŦā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύā§āĻāĻžāϰ āĻļā§āϰā§āϤā§, āĻā§āĻŦāĻŋāϞ⧠āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āĻĒā§āϰāĻŖ āĻāϰāĻžāϰ āĻĒāϰ⧠pg_stat_statements āϏāĻā§āĻā§ āϰāĻŋāϏā§āĻ āĻāϰā§āύ pg_stat_statements_reset().
āĻĻā§āϰāώā§āĻāĻŦā§āϝ: 1 āϏā§āĻā§āύā§āĻĄā§āϰ āĻŦā§āĻļāĻŋ āϏāĻŽāϝāĻŧāĻāĻžāϞā§āϰ āĻ
āύā§āϰā§āϧā§āϰ āĻāύā§āϝ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āϏāĻāĻā§āϰāĻš āĻāϰāĻž āĻšāϝāĻŧāĨ¤
pg_stat_history āϏāĻžāϰāĻŖāĻŋ āĻĒāĻĒā§āϞā§āĻ āĻāϰāĻž āĻšāĻā§āĻā§
--pg_stat_history.sql
CREATE OR REPLACE FUNCTION pg_stat_history( ) RETURNS boolean AS $$
DECLARE
endpoint_rec record ;
database_rec record ;
pg_stat_snapshot record ;
current_snapshot_timestamp timestamp without time zone;
BEGIN
current_snapshot_timestamp = date_trunc('minute',now());
FOR endpoint_rec IN SELECT * FROM endpoint
LOOP
FOR database_rec IN SELECT * FROM database WHERE endpoint_id = endpoint_rec.id
LOOP
RAISE NOTICE 'NEW SHAPSHOT IS CREATING';
--Connect to the target DB
EXECUTE 'SELECT dblink_connect(''LINK1'',''host='||endpoint_rec.host||' dbname='||database_rec.name||' user=USER password=PASSWORD '')';
RAISE NOTICE 'host % and dbname % ',endpoint_rec.host,database_rec.name;
RAISE NOTICE 'Creating snapshot of pg_stat_statements for database %',database_rec.name;
SELECT
*
INTO
pg_stat_snapshot
FROM dblink('LINK1',
'SELECT
dbid , SUM(calls),SUM(total_time),SUM(rows) ,SUM(shared_blks_hit) ,SUM(shared_blks_read) ,SUM(shared_blks_dirtied) ,SUM(shared_blks_written) ,
SUM(local_blks_hit) , SUM(local_blks_read) , SUM(local_blks_dirtied) , SUM(local_blks_written) , SUM(temp_blks_read) , SUM(temp_blks_written) , SUM(blk_read_time) , SUM(blk_write_time)
FROM pg_stat_statements WHERE dbid=(SELECT oid from pg_database where datname=current_database() )
GROUP BY dbid
'
)
AS t
( dbid oid , calls bigint ,
total_time double precision ,
rows bigint , shared_blks_hit bigint , shared_blks_read bigint ,shared_blks_dirtied bigint ,shared_blks_written bigint ,
local_blks_hit bigint ,local_blks_read bigint , local_blks_dirtied bigint ,local_blks_written bigint ,
temp_blks_read bigint ,temp_blks_written bigint ,
blk_read_time double precision , blk_write_time double precision
);
INSERT INTO pg_stat_history
(
snapshot_timestamp ,database_id ,
dbid , calls ,total_time ,
rows ,shared_blks_hit ,shared_blks_read ,shared_blks_dirtied ,shared_blks_written ,local_blks_hit ,
local_blks_read,local_blks_dirtied,local_blks_written,temp_blks_read,temp_blks_written,
blk_read_time, blk_write_time
)
VALUES
(
current_snapshot_timestamp ,
database_rec.id ,
pg_stat_snapshot.dbid ,pg_stat_snapshot.calls,
pg_stat_snapshot.total_time,
pg_stat_snapshot.rows ,pg_stat_snapshot.shared_blks_hit ,pg_stat_snapshot.shared_blks_read ,pg_stat_snapshot.shared_blks_dirtied ,pg_stat_snapshot.shared_blks_written ,
pg_stat_snapshot.local_blks_hit , pg_stat_snapshot.local_blks_read , pg_stat_snapshot.local_blks_dirtied , pg_stat_snapshot.local_blks_written ,
pg_stat_snapshot.temp_blks_read , pg_stat_snapshot.temp_blks_written , pg_stat_snapshot.blk_read_time , pg_stat_snapshot.blk_write_time
);
RAISE NOTICE 'Creating snapshot of pg_stat_statements for queries with min_time more than 1000ms';
FOR pg_stat_snapshot IN
--All queries with max_time greater than 1000 ms
SELECT
*
FROM dblink('LINK1',
'SELECT
dbid , userid ,queryid,query,calls,total_time,min_time ,max_time,mean_time, stddev_time ,rows ,shared_blks_hit ,
shared_blks_read ,shared_blks_dirtied ,shared_blks_written ,
local_blks_hit , local_blks_read , local_blks_dirtied ,
local_blks_written , temp_blks_read , temp_blks_written , blk_read_time ,
blk_write_time
FROM pg_stat_statements
WHERE dbid=(SELECT oid from pg_database where datname=current_database() AND min_time >= 1000 )
'
)
AS t
( dbid oid , userid oid , queryid bigint ,query text , calls bigint ,
total_time double precision ,min_time double precision ,max_time double precision , mean_time double precision , stddev_time double precision ,
rows bigint , shared_blks_hit bigint , shared_blks_read bigint ,shared_blks_dirtied bigint ,shared_blks_written bigint ,
local_blks_hit bigint ,local_blks_read bigint , local_blks_dirtied bigint ,local_blks_written bigint ,
temp_blks_read bigint ,temp_blks_written bigint ,
blk_read_time double precision , blk_write_time double precision
)
LOOP
INSERT INTO pg_stat_history
(
snapshot_timestamp ,database_id ,
dbid ,userid , queryid , query , calls ,total_time ,min_time ,max_time ,mean_time ,stddev_time ,
rows ,shared_blks_hit ,shared_blks_read ,shared_blks_dirtied ,shared_blks_written ,local_blks_hit ,
local_blks_read,local_blks_dirtied,local_blks_written,temp_blks_read,temp_blks_written,
blk_read_time, blk_write_time
)
VALUES
(
current_snapshot_timestamp ,
database_rec.id ,
pg_stat_snapshot.dbid ,pg_stat_snapshot.userid ,pg_stat_snapshot.queryid,pg_stat_snapshot.query,pg_stat_snapshot.calls,
pg_stat_snapshot.total_time,pg_stat_snapshot.min_time ,pg_stat_snapshot.max_time,pg_stat_snapshot.mean_time, pg_stat_snapshot.stddev_time ,
pg_stat_snapshot.rows ,pg_stat_snapshot.shared_blks_hit ,pg_stat_snapshot.shared_blks_read ,pg_stat_snapshot.shared_blks_dirtied ,pg_stat_snapshot.shared_blks_written ,
pg_stat_snapshot.local_blks_hit , pg_stat_snapshot.local_blks_read , pg_stat_snapshot.local_blks_dirtied , pg_stat_snapshot.local_blks_written ,
pg_stat_snapshot.temp_blks_read , pg_stat_snapshot.temp_blks_written , pg_stat_snapshot.blk_read_time , pg_stat_snapshot.blk_write_time
);
END LOOP;
PERFORM dblink_disconnect('LINK1');
END LOOP ;--FOR database_rec IN SELECT * FROM database WHERE endpoint_id = endpoint_rec.id
END LOOP;
RETURN TRUE;
END
$$ LANGUAGE plpgsql;āĻĢāϞ⧠āĻā§āĻŦāĻŋāϞ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŽāϝāĻŧ āĻĒāϰ⧠pg_stat_history āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻŦāĻŋāϞā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āϰ āϏā§āύā§āϝāĻžāĻĒāĻļāĻā§āϰ āĻāĻāĻāĻŋ āϏā§āĻ āĻĨāĻžāĻāĻŦā§ pg_stat_statements āϞāĻā§āώā§āϝ āĻĄāĻžāĻāĻžāĻŦā§āϏāĨ¤
āĻāϏāϞ⧠āϰāĻŋāĻĒā§āϰā§āĻāĻŋāĻ
āϏāĻšāĻ āĻĒā§āϰāĻļā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻāĻĒāύāĻŋ āĻŦā§āĻļ āĻĻāϰāĻāĻžāϰ⧠āĻāĻŦāĻ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻĒā§āϰāϤāĻŋāĻŦā§āĻĻāύ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŽāϝāĻŧā§āϰ āĻāύā§āϝ āĻāĻāϤā§āϰāĻŋāϤ āĻĄā§āĻāĻž
āϤāĻĻāύā§āϤ
SELECT
database_id ,
SUM(calls) AS calls ,SUM(total_time) AS total_time ,
SUM(rows) AS rows , SUM(shared_blks_hit) AS shared_blks_hit,
SUM(shared_blks_read) AS shared_blks_read ,
SUM(shared_blks_dirtied) AS shared_blks_dirtied,
SUM(shared_blks_written) AS shared_blks_written ,
SUM(local_blks_hit) AS local_blks_hit ,
SUM(local_blks_read) AS local_blks_read ,
SUM(local_blks_dirtied) AS local_blks_dirtied ,
SUM(local_blks_written) AS local_blks_written,
SUM(temp_blks_read) AS temp_blks_read,
SUM(temp_blks_written) temp_blks_written ,
SUM(blk_read_time) AS blk_read_time ,
SUM(blk_write_time) AS blk_write_time
FROM
pg_stat_history
WHERE
queryid IS NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
GROUP BY database_id ;āĻĄāĻŋāĻŦāĻŋ āϏāĻŽāϝāĻŧ
to_char(āĻŦā§āϝāĻŦāϧāĻžāύ '1 āĻŽāĻŋāϞāĻŋāϏā§āĻā§āύā§āĻĄ' * pg_total_stat_history_rec.total_time, 'HH24:MI:SS.MS')
I/O āϏāĻŽāϝāĻŧ
to_char(āĻŦā§āϝāĻŦāϧāĻžāύ '1 āĻŽāĻŋāϞāĻŋāϏā§āĻā§āύā§āĻĄ' * ( pg_total_stat_history_rec.blk_read_time + pg_total_stat_history_rec.blk_write_time ), 'HH24:MI:SS.MS')
āĻŽā§āĻ_āϏāĻŽāϝāĻŧ āĻ āύā§āϏāĻžāϰ⧠TOP10 SQL
āϤāĻĻāύā§āϤ
SELECT
queryid ,
SUM(calls) AS calls ,
SUM(total_time) AS total_time
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
GROUP BY queryid
ORDER BY 3 DESC
LIMIT 10-------------------------------------------------- -------------------------------------------------- | āĻŽā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āϏāĻŽāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž āϏā§āϰāĻž 10 SQL | #| queryid| āĻāϞ | āĻāϞ %| āĻŽā§āĻ_āϏāĻŽāϝāĻŧ (āĻāĻŽāĻāϏ) | dbtime % +------+------------+------------+----------+------ --------------------+------------ | 1| 821760255| 2| .00001|00:03:23.141( 203141.681 ms.)| 5.42 | 2| 4152624390| 2| .00001|00:03:13.929( 193929.215 ms.)| 5.17 | 3| 1484454471| 4| .00001|00:02:09.129( 129129.057 ms.)| 3.44 | 4| 655729273| 1| .00000|00:02:01.869( 121869.981 ms.)| 3.25 | 5| 2460318461| 1| .00000|00:01:33.113( 93113.835 ms.)| 2.48 | 6| 2194493487| 4| .00001|00:00:17.377( 17377.868 ms.)| .46 | 7| 1053044345| 1| .00000|00:00:06.156( 6156.352 ms.)| .16 | 8| 3644780286| 1| .00000|00:00:01.063( 1063.830 ms.)| .03
āĻŽā§āĻ I/O āϏāĻŽāϝāĻŧ āĻ āύā§āϏāĻžāϰ⧠TOP10 SQL
āϤāĻĻāύā§āϤ
SELECT
queryid ,
SUM(calls) AS calls ,
SUM(blk_read_time + blk_write_time) AS io_time
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
GROUP BY queryid
ORDER BY 3 DESC
LIMIT 10-------------------------------------------------- --------------------------------------------------- | āĻŽā§āĻ I/O āϏāĻŽāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž āϏā§āϰāĻž 10 SQL | #| queryid| āĻāϞ | āĻāϞ %| I/O āϏāĻŽāϝāĻŧ (ms)|db I/O āϏāĻŽāϝāĻŧ % +------+------------+----------+------ ----------------------------------------------------------- -- | 1| 4152624390| 2| .00001|00:08:31.616( 511616.592 ms.)| āĻā§āύ 31.06 | 2| 821760255| 2| .00001|00:08:27.099( 507099.036 ms.)| 30.78 | 3| 655729273| 1| .00000|00:05:02.209( 302209.137 ms.)| 18.35 | 4| 2460318461| 1| .00000|00:04:05.981( 245981.117 ms.)| 14.93 | 5| 1484454471| 4| .00001|00:00:39.144( 39144.221 ms.)| 2.38 | 6| 2194493487| 4| .00001|00:00:18.182( 18182.816 ms.)| 1.10 | 7| 1053044345| 1| .00000|00:00:16.611(16611.722 ms.)| 1.01 | 8| 3644780286| 1| .00000|00:00:00.436( 436.205 ms.)| .03
āϏāϰā§āĻŦā§āĻā§āĻ 10 āĻāϏāĻāĻŋāĻāĻāϞ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ
āϤāĻĻāύā§āϤ
SELECT
id AS snapshotid ,
queryid ,
snapshot_timestamp ,
max_time
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
ORDER BY 4 DESC
LIMIT 10-------------------------------------------------- -------------------------------------------------- | āϏāϰā§āĻŦā§āĻā§āĻ āĻāĻžāϰā§āϝāĻāϰ⧠āϏāĻŽāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž āĻļā§āϰā§āώ 10 SQL | #| āϏā§āύā§āϝāĻžāĻĒāĻļāĻ| āϏā§āύā§āϝāĻžāĻĒāĻļāĻāĻāĻāĻĄāĻŋ| queryid| max_time (ms) +------+-------------------+------------+--------- -------------------------------------------- | 1| 05.04.2019/01/03 4169:655729273| 00| 02| 01.869:121869.981:2( 04.04.2019 ms.) | 17| 00/4153/821760255 00:01| 41.570| 101570.841| 3:04.04.2019:16( 00 ms.) | 4146| 821760255/00/01 41.570:101570.841| 4| 04.04.2019| 16:00:4144( 4152624390 ms.) | 00| 01/36.964/96964.607 5:04.04.2019| 17| 00| 4151:4152624390:00( 01 ms.) | 36.964| 96964.607/6/05.04.2019 10:00| 4188| 1484454471| 00:01:33.452( 93452.150 ms.) | 7| 04.04.2019/17/00 4150:2460318461 | 00| 01| 33.113:93113.835:8( 04.04.2019 ms.) | 15| 00/4140/1484454471 00:00| 11.892| 11892.302| 9:04.04.2019:16( 00 ms.) | 4145| 1484454471/00/00 11.892:11892.302| 10| 04.04.2019| 17:00:4152(1484454471 ms.) | 00| 00/11.892/11892.302 XNUMX:XNUMX| XNUMX| XNUMX| XNUMX:XNUMX:XNUMX(XNUMX ms.) | XNUMX| XNUMX/XNUMX/XNUMX XNUMX:XNUMX| XNUMX| XNUMX| XNUMX:XNUMX:XNUMX (XNUMX ms.)
SHARED āĻŦāĻžāĻĢāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž TOP10 SQL āϰāĻŋāĻĄ/āϰāĻžāĻāĻ
āϤāĻĻāύā§āϤ
SELECT
id AS snapshotid ,
queryid ,
snapshot_timestamp ,
shared_blks_read ,
shared_blks_written
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT AND
( shared_blks_read > 0 OR shared_blks_written > 0 )
ORDER BY 4 DESC , 5 DESC
LIMIT 10-------------------------------------------------- -------------------------------------------------- | āĻļā§āϝāĻŧāĻžāϰ āĻāϰāĻž āĻŦāĻžāĻĢāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻļā§āϰā§āώ 10 SQL āϰāĻŋāĻĄ/āϰāĻžāĻāĻ | #| āϏā§āύā§āϝāĻžāĻĒāĻļāĻ| āϏā§āύā§āϝāĻžāĻĒāĻļāĻāĻāĻāĻĄāĻŋ| queryid| āĻāĻžāĻ āĻāϰāĻž āĻŦā§āϞāĻ āĻĒāĻĄāĻŧāĻž | āĻļā§āϝāĻŧāĻžāϰā§āĻĄ āĻŦā§āϞāĻ āϞāĻŋāĻāϤ⧠+------------------------------------- ------------------------- +---------------------- | 1| 04.04.2019/17/00 4153:821760255| 797308| 0| 2| 04.04.2019 | 16| 00/4146/821760255 797308:0| 3| 05.04.2019| 01| 03 | 4169| 655729273/797158/0 4:04.04.2019| 16| 00| 4144| 4152624390 | 756514| 0/5/04.04.2019 17:00| 4151| 4152624390| 756514| 0 | 6| 04.04.2019/17/00 4150:2460318461| 734117| 0| 7| 04.04.2019 | 17| 00/4155/3644780286 52973:0| 8| 05.04.2019| 01| 03 | 4168| 1053044345/52818/0 9:04.04.2019| 15| 00| 4141| 2194493487 | 52813| 0/10/04.04.2019 16:00| 4147| 2194493487| 52813| 0 | XNUMX| XNUMX/XNUMX/XNUMX XNUMX:XNUMX| XNUMX| XNUMX| XNUMX| XNUMX | XNUMX| XNUMX/XNUMX/XNUMX XNUMX:XNUMX| XNUMX| XNUMX| XNUMX| XNUMX -------------------------------------------------- --------------------------------------------------
āϏāϰā§āĻŦā§āĻā§āĻ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻŦāĻŋāϤāϰāĻŖā§āϰ āĻšāĻŋāϏā§āĻā§āĻā§āϰāĻžāĻŽ
āĻ āύā§āϰā§āϧ
SELECT
MIN(max_time) AS hist_min ,
MAX(max_time) AS hist_max ,
(( MAX(max_time) - MIN(min_time) ) / hist_columns ) as hist_width
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT ;
SELECT
SUM(calls) AS calls
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id =DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT AND
( max_time >= hist_current_min AND max_time < hist_current_max ) ;
|------------------------------------------------ ---------------------------------------- | MAX_TIME āĻšāĻŋāϏā§āĻā§āĻā§āϰāĻžāĻŽ | āĻŽā§āĻ āĻāϞ: 33851920 | āĻŽāĻŋāύāĻŋāĻ āϏāĻŽāϝāĻŧ : 00:00:01.063 | āϏāϰā§āĻŦā§āĻā§āĻ āϏāĻŽāϝāĻŧ : 00:02:01.869 ----------------------------------------------------- ----------------------------------------- | āύā§āϝā§āύāϤāĻŽ āϏāĻŽāϝāĻŧāĻāĻžāϞ| āϏāϰā§āĻŦā§āĻā§āĻ āϏāĻŽāϝāĻŧāĻāĻžāϞ| āĻāϞ āĻāϰ⧠+---------------------------------- ---------------------+------------ | 00:00:01.063( 1063.830 ms.) | 00:00:13.144( 13144.445 ms.) | 9 | 00:00:13.144( 13144.445 ms.) | 00:00:25.225( 25225.060 ms.) | 0 | 00:00:25.225( 25225.060 ms.) | 00:00:37.305( 37305.675 ms.) | 0 | 00:00:37.305( 37305.675 ms.) | 00:00:49.386( 49386.290 ms.) | 0 | 00:00:49.386( 49386.290 ms.) | 00:01:01.466( 61466.906 ms.) | 0 | 00:01:01.466( 61466.906 ms.) | 00:01:13.547( 73547.521 ms.) | 0 | 00:01:13.547( 73547.521 ms.) | 00:01:25.628( 85628.136 ms.) | 0 | 00:01:25.628( 85628.136 ms.) | 00:01:37.708( 97708.751 ms.) | 4 | 00:01:37.708( 97708.751 ms.) | 00:01:49.789( 109789.366 ms.) | 2 | 00:01:49.789( 109789.366 ms.) | 00:02:01.869( 121869.981 ms.) | 0
āĻĒā§āϰāϤāĻŋ āϏā§āĻā§āύā§āĻĄā§ āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻĻā§āĻŦāĻžāϰāĻž TOP10 āϏā§āύā§āϝāĻžāĻĒāĻļāĻ
āĻ āύā§āϰā§āϧ
--pg_qps.sql
--Calculate Query Per Second
CREATE OR REPLACE FUNCTION pg_qps( pg_stat_history_id integer ) RETURNS double precision AS $$
DECLARE
pg_stat_history_rec record ;
prev_pg_stat_history_id integer ;
prev_pg_stat_history_rec record;
total_seconds double precision ;
result double precision;
BEGIN
result = 0 ;
SELECT *
INTO pg_stat_history_rec
FROM
pg_stat_history
WHERE id = pg_stat_history_id ;
IF pg_stat_history_rec.snapshot_timestamp IS NULL
THEN
RAISE EXCEPTION 'ERROR - Not found pg_stat_history for id = %',pg_stat_history_id;
END IF ;
--RAISE NOTICE 'pg_stat_history_id = % , snapshot_timestamp = %', pg_stat_history_id ,
pg_stat_history_rec.snapshot_timestamp ;
SELECT
MAX(id)
INTO
prev_pg_stat_history_id
FROM
pg_stat_history
WHERE
database_id = pg_stat_history_rec.database_id AND
queryid IS NULL AND
id < pg_stat_history_rec.id ;
IF prev_pg_stat_history_id IS NULL
THEN
RAISE NOTICE 'Not found previous pg_stat_history shapshot for id = %',pg_stat_history_id;
RETURN NULL ;
END IF;
SELECT *
INTO prev_pg_stat_history_rec
FROM
pg_stat_history
WHERE id = prev_pg_stat_history_id ;
--RAISE NOTICE 'prev_pg_stat_history_id = % , prev_snapshot_timestamp = %', prev_pg_stat_history_id , prev_pg_stat_history_rec.snapshot_timestamp ;
total_seconds = extract(epoch from ( pg_stat_history_rec.snapshot_timestamp - prev_pg_stat_history_rec.snapshot_timestamp ));
--RAISE NOTICE 'total_seconds = % ', total_seconds ;
--RAISE NOTICE 'calls = % ', pg_stat_history_rec.calls ;
IF total_seconds > 0
THEN
result = pg_stat_history_rec.calls / total_seconds ;
ELSE
result = 0 ;
END IF;
RETURN result ;
END
$$ LANGUAGE plpgsql;
SELECT
id ,
snapshot_timestamp ,
calls ,
total_time ,
( select pg_qps( id )) AS QPS ,
blk_read_time ,
blk_write_time
FROM
pg_stat_history
WHERE
queryid IS NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT AND
( select pg_qps( id )) IS NOT NULL
ORDER BY 5 DESC
LIMIT 10
|------------------------------------------------ ---------------------------------------- | QueryPerSeconds āϏāĻāĻā§āϝāĻž āĻĻā§āĻŦāĻžāϰāĻž āĻāĻĻā§āĻļāĻā§āϤ āϏā§āϰāĻž 10 āϏā§āύā§āϝāĻžāĻĒāĻļāĻ --------------------------------------------------------- ------------------------------------------------------------------------- -------------------------------------------------------- | #| āϏā§āύā§āϝāĻžāĻĒāĻļāĻ| āϏā§āύā§āϝāĻžāĻĒāĻļāĻāĻāĻāĻĄāĻŋ| āĻāϞ | āĻŽā§āĻ āĻĄāĻŋāĻŦāĻŋāĻāĻžāĻāĻŽ| QPS | I/O āϏāĻŽāϝāĻŧ | I/O āϏāĻŽāϝāĻŧ % +------+---------------------------------- ------------------------------------------- -------------------------------------- +------------ | 1| 04.04.2019/20/04 4161:5758631| 00| 06| 30.513:390513.926:1573.396( 00 ms.)| 00| 01.470:1470.110:376(2 ms.)| .04.04.2019 | 17| 00/4149/3529197 00:11| 48.830| 708830.618| 980.332:00:12( 47.834 ms.)| 767834.052| 108.324:3:04.04.2019( 16 ms.)| 00 | 4143| 3525360/00/10 13.492:613492.351| 979.267| 00| 08:41.396:521396.555( 84.988 ms.)| 4| 04.04.2019:21:03( 4163 ms.)| 2781536 | 00| 03/06.470/186470.979 785.745:00| 00| 00.249| 249.865:134:5( 04.04.2019 ms.)| 19| 03:4159:2890362( 00 ms.)| .03 | 16.784| 196784.755/776.979/00 00:01.441| 1441.386| 732| 6:04.04.2019:14( 00 ms.)| 4137| 2397326:00:04( 43.033 ms.)| .283033.854 | 665.924| 00/00/00.024 24.505:009 | 7| 04.04.2019| 15:00:4139( 2394416 ms.)| 00| 04:51.435:291435.010(665.116 ms.)| .00 | 00| 12.025/12025.895/4.126 8:04.04.2019| 13| 00| 4135:2373043:00( 04 ms.)| 26.791| 266791.988:659.179:00( 00 ms.)| 00.064 | 64.261| 024/9/05.04.2019 01:03| 4167| 4387191| 00:06:51.380( 411380.293 ms.)| 609.332| 00:05:18.847(318847.407 ms.)| .77.507 | 10| 04.04.2019/18/01 4157:1145596| 00| 01| 19.217:79217.372:313.004( 00 ms.)| 00| 01.319:1319.676:1.666( XNUMX ms.)| XNUMX | XNUMX| XNUMX/XNUMX/XNUMX XNUMX:XNUMX| XNUMX| XNUMX| XNUMX:XNUMX:XNUMX( XNUMX ms.)| XNUMX| XNUMX:XNUMX:XNUMX( XNUMX ms.)| XNUMX
QueryPerSeconds āĻāĻŦāĻ I/O āĻāĻžāĻāĻŽ āϏāĻš āĻāύā§āĻāĻžāϝāĻŧ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻāϤāĻŋāĻšāĻžāϏ
āϤāĻĻāύā§āϤ
SELECT
id ,
snapshot_timestamp ,
calls ,
total_time ,
( select pg_qps( id )) AS QPS ,
blk_read_time ,
blk_write_time
FROM
pg_stat_history
WHERE
queryid IS NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
ORDER BY 2
|----------------------------------------------------------------------------------------------- | HOURLY EXECUTION HISTORY WITH QueryPerSeconds and I/O Time ----------------------------------------------------------------------------------------------------------------------------------------------- | QUERY PER SECOND HISTORY | #| snapshot| snapshotID| calls| total dbtime| QPS| I/O time| I/O time % +-----+------------------+-----------+-----------+----------------------------------+-----------+----------------------------------+----------- | 1| 04.04.2019 11:00| 4131| 3747| 00:00:00.835( 835.374 ms.)| 1.041| 00:00:00.000( .000 ms.)| .000 | 2| 04.04.2019 12:00| 4133| 1002722| 00:01:52.419( 112419.376 ms.)| 278.534| 00:00:00.149( 149.105 ms.)| .133 | 3| 04.04.2019 13:00| 4135| 2373043| 00:04:26.791( 266791.988 ms.)| 659.179| 00:00:00.064( 64.261 ms.)| .024 | 4| 04.04.2019 14:00| 4137| 2397326| 00:04:43.033( 283033.854 ms.)| 665.924| 00:00:00.024( 24.505 ms.)| .009 | 5| 04.04.2019 15:00| 4139| 2394416| 00:04:51.435( 291435.010 ms.)| 665.116| 00:00:12.025( 12025.895 ms.)| 4.126 | 6| 04.04.2019 16:00| 4143| 3525360| 00:10:13.492( 613492.351 ms.)| 979.267| 00:08:41.396( 521396.555 ms.)| 84.988 | 7| 04.04.2019 17:00| 4149| 3529197| 00:11:48.830( 708830.618 ms.)| 980.332| 00:12:47.834( 767834.052 ms.)| 108.324 | 8| 04.04.2019 18:01| 4157| 1145596| 00:01:19.217( 79217.372 ms.)| 313.004| 00:00:01.319( 1319.676 ms.)| 1.666 | 9| 04.04.2019 19:03| 4159| 2890362| 00:03:16.784( 196784.755 ms.)| 776.979| 00:00:01.441( 1441.386 ms.)| .732 | 10| 04.04.2019 20:04| 4161| 5758631| 00:06:30.513( 390513.926 ms.)| 1573.396| 00:00:01.470( 1470.110 ms.)| .376 | 11| 04.04.2019 21:03| 4163| 2781536| 00:03:06.470( 186470.979 ms.)| 785.745| 00:00:00.249( 249.865 ms.)| .134 | 12| 04.04.2019 23:03| 4165| 1443155| 00:01:34.467( 94467.539 ms.)| 200.438| 00:00:00.015( 15.287 ms.)| .016 | 13| 05.04.2019 01:03| 4167| 4387191| 00:06:51.380( 411380.293 ms.)| 609.332| 00:05:18.847( 318847.407 ms.)| 77.507 | 14| 05.04.2019 02:03| 4171| 189852| 00:00:10.989( 10989.899 ms.)| 52.737| 00:00:00.539( 539.110 ms.)| 4.906 | 15| 05.04.2019 03:01| 4173| 3627| 00:00:00.103( 103.000 ms.)| 1.042| 00:00:00.004( 4.131 ms.)| 4.010 | 16| 05.04.2019 04:00| 4175| 3627| 00:00:00.085( 85.235 ms.)| 1.025| 00:00:00.003( 3.811 ms.)| 4.471 | 17| 05.04.2019 05:00| 4177| 3747| 00:00:00.849( 849.454 ms.)| 1.041| 00:00:00.006( 6.124 ms.)| .721 | 18| 05.04.2019 06:00| 4179| 3747| 00:00:00.849( 849.561 ms.)| 1.041| 00:00:00.000( .051 ms.)| .006 | 19| 05.04.2019 07:00| 4181| 3747| 00:00:00.839( 839.416 ms.)| 1.041| 00:00:00.000( .062 ms.)| .007 | 20| 05.04.2019 08:00| 4183| 3747| 00:00:00.846( 846.382 ms.)| 1.041| 00:00:00.000( .007 ms.)| .001 | 21| 05.04.2019 09:00| 4185| 3747| 00:00:00.855( 855.426 ms.)| 1.041| 00:00:00.000( .065 ms.)| .008 | 22| 05.04.2019 10:00| 4187| 3797| 00:01:40.150( 100150.165 ms.)| 1.055| 00:00:21.845( 21845.217 ms.)| 21.812
āϏāĻŽāϏā§āϤ SQL āĻāϰ āĻĒāĻžāĻ ā§āϝ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§
āϤāĻĻāύā§āϤ
SELECT
queryid ,
query
FROM
pg_stat_history
WHERE
queryid IS NOT NULL AND
database_id = DATABASE_ID AND
snapshot_timestamp BETWEEN BEGIN_TIMEPOINT AND END_TIMEPOINT
GROUP BY queryid , query
āĻĢāϞāĻžāĻĢāϞ
āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻā§āĻā§āύ, āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āϏāĻšāĻ āĻāĻĒāĻžāϝāĻŧā§, āĻāĻĒāύāĻŋ āĻāĻžāĻā§āϰ āĻāĻžāĻĒ āĻāĻŦāĻ āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āĻ āĻŦāϏā§āĻĨāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ āύā§āĻ āĻĻāϰāĻāĻžāϰ⧠āϤāĻĨā§āϝ āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻŦāĻŋāĻāĻĻā§āϰāĻ:āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻā§āϝā§āϝāĻŧāĻžāϰā§āϤ⧠queryid āĻ āĻŋāĻ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ āύā§āϰā§āϧā§āϰ āĻāϤāĻŋāĻšāĻžāϏ āĻĒāĻžāĻŦ (āϏā§āĻĨāĻžāύ āĻŦāĻžāĻāĻāĻžāύā§āϰ āĻāύā§āϝ, āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ āύā§āϰā§āϧā§āϰ āĻĒā§āϰāϤāĻŋāĻŦā§āĻĻāύ āĻŦāĻžāĻĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ)āĨ¤
āϏā§āϤāϰāĻžāĻ, āĻā§āϝāĻŧā§āϰāĻŋ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύāĻāϤ āĻĄā§āĻāĻž āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ āϏāĻāĻā§āϰāĻš āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻĒā§āϰāĻĨāĻŽ āĻĒāϰā§āϝāĻžāϝāĻŧā§ "āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύāĻāϤ āϤāĻĨā§āϝ āϏāĻāĻā§āϰāĻš" āϏāĻŽā§āĻĒāύā§āύ āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāĻĒāύāĻŋ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻĒāϰā§āϝāĻžāϝāĻŧā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āύ - "āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻŽā§āĻā§āϰāĻŋāĻā§āϏ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž"āĨ¤

āĻāĻŋāύā§āϤ⧠āĻāĻāĻž āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāĻŋāύā§āύ āĻāϞā§āĻĒāĨ¤
āĻāϞāĻŦā§âĻ
āĻāϤā§āϏ: www.habr.com
