āĻ ā§āĻ¯āĻžāĻ˛ā§āĻā§āĻ¸āĻŋ āĻ˛ā§āĻ¸ā§āĻāĻ¸ā§āĻāĻŋāĻ° 2015 āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ "āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§ āĻāĻā§āĻ°āĻāĻžāĻŦā§ āĻĄā§āĻŦ"
āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§āĻ° āĻ˛ā§āĻāĻ āĻĨā§āĻā§ āĻĻāĻžāĻŦāĻŋāĻ¤ā§āĻ¯āĻžāĻ: āĻāĻŽāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨āĻāĻŋ āĻ¨āĻā§āĻŽā§āĻŦāĻ° 2015 āĻ¤āĻžāĻ°āĻŋāĻā§āĻ° - 4 āĻŦāĻāĻ°ā§āĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻā§ āĻā§āĻā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻŋāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§ āĻāĻ˛ā§āĻāĻŋāĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 9.4 āĻāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻāĻ¤ 4 āĻŦāĻāĻ°ā§, 5āĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻĻā§āĻāĻžāĻŦāĻ¨, āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧā§ˇ āĻāĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§, āĻāĻŽāĻŋ āĻāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ āĻ¯āĻžāĻ¤ā§ āĻĒāĻžāĻ āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻāĻ˛āĻŋāĻāĻ¨ āĻāĻ°āĻŋāĻ¨āĻŋ, āĻ¸ā§āĻā§āĻ˛āĻŋāĻ° āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻāĻžāĻ˛ā§ āĻšāĻŦā§āĨ¤
PostgreSQL DBMS āĻšāĻ˛ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ, āĻāĻŦāĻ āĻāĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽāĻāĻŋ āĻ
āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤, āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻžāĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ DBMS-āĻāĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻžāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ˛āĻžāĻāĻžāĻ˛ā§āĻ¨, āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ PostgreSQL āĻāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻ
āĻ¨ā§āĻ āĻāĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻ°āĻ āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻāĻāĻžāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ
-āĻ¤ā§āĻā§āĻ āĻāĻžāĻ, āĻāĻŦāĻ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻāĻŦāĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻā§āĻ˛āĻŋāĻ° "āĻāĻŋāĻĄāĻŧāĻŋāĻ¯āĻŧāĻžāĻāĻžāĻ¨āĻž" āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤ DBA āĻā§ āĻ¸āĻšāĻā§āĻ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻļā§āĻ āĻ āĻĒāĻ°āĻžāĻšā§āĻ¨ āĻāĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻā§āĻ¸āĻŋāĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻāĻ˛āĻŋāĻ¯āĻŧāĻž āĻŦāĻ˛ā§āĻā§āĻ¨, āĻāĻŽāĻŋ PostgreSQL āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
PostgreSQL āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨. PostgreSQL āĻāĻ° āĻĻā§āĻāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨, āĻ¯āĻž āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻŦā§. āĻāĻŦāĻ āĻĄā§āĻāĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĨ¤ āĻāĻŽāĻŋ PostgreSQL āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦ, āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻā§āĻ¨ā§ āĻ¨āĻž āĻā§āĻ¨ā§āĻāĻžāĻŦā§ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛āĻŦ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻŦāĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§ āĻā§ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻž? āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§, āĻāĻŽāĻŋ āĻļāĻŋāĻĄāĻŋāĻāĻ˛āĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻāĻ°āĻŦ āĻ¨āĻž, āĻāĻžāĻ°āĻŖāĨ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄā§āĻāĻž āĻā§āĻāĻžāĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨āĻžāĻ° āĻāĻ āĻĄā§āĻāĻžāĻ° āĻā§āĻŖāĻāĻ¤ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ§āĻžāĻ°āĻŖāĻž āĻĒāĻžāĻ¨ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤
āĻāĻŦāĻ āĻā§āĻ¨ āĻā§āĻ˛ āĻ°āĻŋāĻāĻŋāĻ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻž, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻĒāĻŖā§āĻ¯ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻ¯ āĻĒāĻŖā§āĻ¯ā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻā§āĻ¨ āĻŦāĻŋāĻā§āĻāĻžāĻĒāĻ¨ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻžāĨ¤ āĻŦāĻžāĻĻ āĻĻā§āĻāĨ¤
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻ¤ā§ āĻāĻžāĻ āĻ¯ā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ āĻāĻāĻž āĻāĻ°ā§āĻ°āĻŋ. āĻ¨āĻŋāĻ°ā§āĻāĻ¯āĻŧā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¤āĻž āĻšāĻ˛ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻŦāĻ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛-āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§āĻāĻžāĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž PostgreSQL āĻĻā§āĻāĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ "āĻŦā§āĻ˛ā§āĻ¯āĻžāĻ āĻŦāĻā§āĻ¸" āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻāĻŦ āĻ¯āĻž āĻāĻŋāĻā§ āĻāĻ°ā§, āĻāĻŦāĻ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŽāĻ°āĻž āĻŽā§āĻāĻžāĻŽā§āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ā§ āĻā§ āĻāĻ°āĻā§, āĻ¤āĻžāĻ°āĻž āĻā§ āĻāĻ°āĻā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻāĻ¸āĻ˛ā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻŦāĻā§āĻ¸, āĻāĻŽāĻ°āĻž āĻāĻŋāĻ¤āĻ°ā§ āĻ¤āĻžāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤
āĻāĻŽāĻ°āĻž CPU āĻ˛ā§āĻĄ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ top
, āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽā§āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž PostgreSQL āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻĻā§āĻāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦ āĻ¨āĻžāĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻ°āĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻā§āĻāĻŋ, āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛āĻŦ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻāĻā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻāĻ¸āĻāĻŋāĻāĻāĻ˛āĻā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻŋāĻŽ āĻāĻāĻžāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§āĨ¤ āĻāĻ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸: āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ PostgreSQL āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻāĻžāĻāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§āĻ° āĻŦāĻžāĻŽ āĻā§āĻŖā§ āĻ¤āĻžāĻāĻžāĻ¨ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦā§āĻĻāĻ¨ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ¸ā§ āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻļāĻ¨ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻ°āĻ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻā§āĻŦāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĄā§āĻā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻŋāĻā§ āĻŦā§āĻ˛āĻ I/O āĻĄā§āĻāĻž āĻāĻā§āĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻĄāĻŋāĻ¸ā§āĻ āĻĨā§āĻā§ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ "āĻļā§āĻ¯āĻŧāĻžāĻ°āĻĄ āĻŦāĻžāĻĢāĻžāĻ°" āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ˛āĻžāĻāĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛, āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧ, āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ WAL-āĻāĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻā§ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĻāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻ āĻŦāĻž āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻžāĻšāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻĒāĻ°ā§, āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻāĻžāĻ¸ā§āĻ āĻāĻŦāĻ āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋ āĻāĻā§? āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻļ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻā§ āĻ¯āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĻā§ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻŽā§āĻĄā§ āĻāĻžāĻ˛ā§ āĻ°āĻžāĻā§āĨ¤ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§ āĻāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§: āĻāĻā§āĻ˛āĻŋ āĻšāĻ˛ āĻ āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ, āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°, āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻĒāĻāĻā§āĻŽāĻŋ āĻ˛ā§āĻāĻāĨ¤ āĻāĻŽāĻŋ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻāĻ°āĻŦ.
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋ?
- āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻā§āĻ°. PostgreSQL 9.4 āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĄā§āĻāĻž āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ 109 āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻŦāĻŋāĻ˛, āĻ¸ā§āĻāĻŋāĻŽāĻž, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸āĻā§āĻāĻ¯āĻŧ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻā§ āĻā§āĻŦāĻŋāĻ˛, āĻĄā§āĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻāĻā§āĨ¤ āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻĄā§āĻŦā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻā§āĻŦ āĻ¸āĻšāĻāĨ¤
- āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻŋ, āĻāĻŽāĻ°āĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦāĨ¤ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ° āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻā§āĻāĻŋ āĻā§āĻāĻŋ āĻŽāĻžāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦāĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋāĻā§āĻ āĻŦāĻ˛ā§ āĻ¨āĻžāĨ¤
- āĻā§āĻ¨ āĻāĻ¤āĻŋāĻšāĻžāĻ¸ āĻ¨ā§āĻāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¨ā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻĨāĻžāĻā§, 15-30 āĻŽāĻŋāĻ¨āĻŋāĻ āĻāĻā§ āĻāĻŋāĻā§ āĻĒāĻĄāĻŧā§ āĻā§āĻā§, āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĻāĻŦāĻ 15-30 āĻŽāĻŋāĻ¨āĻŋāĻ āĻāĻā§ āĻā§ āĻāĻā§āĻā§ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž.
- PostgreSQL āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻ° āĻ āĻāĻžāĻŦ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻā§āĻ¨ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻ¸ā§āĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻ¨ā§āĻāĨ¤ āĻ¤āĻžāĻ°āĻž āĻļā§āĻ§ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻāĻāĻŋāĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻž āĻāĻžāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻŋ āĻāĻ°ā§āĻ¨āĨ¤
- āĻ¯ā§āĻšā§āĻ¤ā§ PostgreSQL-āĻ āĻā§āĻ¨ā§ āĻā§āĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸ā§āĻˇā§āĻāĻŋ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻŽā§āĻĒāĻžāĻ¨ā§ āĻ¯āĻžāĻ° āĻāĻŽ-āĻŦā§āĻļāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻšāĻžāĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛ā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§āĨ¤ āĻāĻŦāĻ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§āĻ° āĻāĻžāĻā§ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ° āĻāĻŋāĻā§ āĻā§āĻ˛ā§ āĻāĻŋāĻā§ āĻĢāĻŋāĻāĻžāĻ° āĻāĻā§, āĻ āĻ¨ā§āĻ¯ āĻā§āĻ˛ā§ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻĢāĻŋāĻāĻžāĻ° āĻ¨ā§āĻ, āĻŦāĻž āĻāĻŋāĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻŋāĻāĻžāĻ° āĻāĻā§āĨ¤ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻŋ āĻŦāĻž āĻ¤āĻŋāĻ¨ āĻŦāĻž āĻāĻžāĻ°āĻāĻŋ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻāĻā§ āĻ āĻĒāĻ°āĻā§ āĻāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒ āĻāĻ°ā§ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻž āĻā§āĻŦāĻ āĻ āĻĒā§āĻ°ā§āĻ¤āĻŋāĻāĻ°āĨ¤
āĻāĻ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻŋ? āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, āĻŦāĻž āĻā§āĻ¨āĻāĻāĻžāĻŦā§ āĻāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻā§āĻ°āĻžāĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°ā§āĻ¨: āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĒā§āĻ¤ā§ āĻāĻŋāĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° SQL āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§āĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŋāĻā§ āĻĄā§āĻāĻž āĻĒā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ¨āĻ¤ā§ āĻšāĻŦā§ āĻā§āĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻāĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻŦāĻ˛ā§āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ¯āĻžāĻāĻžāĻāĻ°āĻŋāĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¸āĻāĻāĻāĻŋāĻ¤ āĻāĻāĻ¨āĻžāĻā§āĻ˛āĻŋāĨ¤ āĻāĻāĻŋ āĻ¯āĻāĻ¨ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻŋāĻā§ āĻāĻāĻ¨āĻž āĻāĻā§: āĻāĻāĻāĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸, āĻ āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ, āĻāĻŽāĻŋāĻ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ¸āĻŦ āĻāĻāĻ¨āĻžāĨ¤ āĻāĻ āĻāĻāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻāĻ¨āĻž āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
- āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻšāĻ˛ āĻā§āĻŦāĻŋāĻ˛, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻŽāĻ¤ā§ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻāĻā§āĨ¤ āĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻāĻžāĻ°āĨ¤ āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŦā§āĻĻā§āĻ§āĻŋ, āĻ¸ā§āĻāĻā§āĻ° āĻŦā§āĻĻā§āĻ§āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
- āĻāĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻā§āĻ¯āĻžāĻāĻžāĻāĻ°āĻŋ āĻšāĻ˛ āĻāĻā§āĻ¨ā§āĻā§ āĻāĻžāĻāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻāĻāĻŋ āĻāĻāĻ¨āĻž. āĻāĻāĻŋāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻļā§āĻ°ā§, āĻāĻāĻžāĻ¨ā§āĻ āĻļā§āĻˇāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻāĻž āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻšāĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ āĻŦāĻž āĻ˛ā§āĻāĻž āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻ āĻĒāĻĄāĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
- āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ (āĻļā§āĻ¯āĻŧāĻžāĻ°āĻĄ āĻŦāĻžāĻĢāĻžāĻ°) āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĄā§āĻāĻž āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŽāĻ¨ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻāĻ¨āĻž āĻāĻā§, āĻŦāĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§ āĻāĻŋāĻā§ āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧāĨ¤
- āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻŽāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻā§āĻ° āĻāĻžāĻā§āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻā§āĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻāĻŋāĻ¨āĻŋāĻ¸āĨ¤ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, PostgreSQL SQL āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻŽā§āĻā§āĻ°āĻŋāĻ (āĻŦāĻž āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ā§āĻ° āĻ¸ā§āĻ) āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
- āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ (VIEWs)āĨ¤ āĻāĻā§āĻ˛āĻŋ āĻšāĻ˛ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻā§āĻŦāĻŋāĻ˛ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻŦāĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻāĻŋāĻā§ āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻā§āĨ¤
- āĻāĻ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻāĻŋāĻ (VIEWs) āĻšāĻ˛ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻāĻāĻžāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸āĨ¤ āĻāĻā§āĻ˛āĻŋ āĻā§āĻ¨āĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻžāĻĄāĻŧāĻžāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻāĻĒāĻ˛āĻŦā§āĻ§, āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§, āĻĻā§āĻāĻ¤ā§, āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ āĻāĻŦāĻ āĻ āĻŦāĻĻāĻžāĻ¨ āĻāĻā§. āĻ āĻŦāĻĻāĻžāĻ¨ āĻ¸āĻ°āĻāĻžāĻ°ā§. āĻāĻĒāĻ¨āĻŋ postgresql-contrib āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, postgresql94-contrib), āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, PostgreSQL āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ (āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻ āĻŦāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ āĻāĻļ).
- āĻāĻŦāĻ āĻ āĻ¨āĻžāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ āĻ āĻŦāĻĻāĻžāĻ¨ āĻāĻā§. āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ PostgreSQL āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ āĻŦāĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻ āĻ āĻ¨āĻžāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ āĻ āĻŦāĻĻāĻžāĻ¨ā§āĻ° āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻā§ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻāĻ˛āĻžāĻĻāĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻ¸ā§āĻ˛āĻžāĻāĻĄāĻāĻŋ āĻ¸ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻ (VIEWs) āĻāĻŦāĻ PostgreSQL 9.4-āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŋāĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ, āĻ¤āĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻ āĻāĻā§. āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻāĻāĻŋ āĻ āĻ¨ā§āĻāĻŦ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻāĻ¯āĻŧāĻž āĻŦā§āĻļ āĻ¸āĻšāĻāĨ¤
āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻā§āĻ° āĻāĻŦāĻŋāĻāĻž āĻ¤ā§āĻ˛āĻŋ ĐĐ°Đē ŅŅĐ°ŅиŅŅŅ вŅĐĩĐŧŅ ĐŊĐ° PostgreSQL
āĻāĻŦāĻ āĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ, āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻŦāĻŋāĻāĻŋ āĻĒāĻžāĻāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĻā§āĻļā§āĻ¯ (VIEWs), āĻ
āĻĨāĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨, āĻāĻŽāĻ°āĻž PostgreSQL āĻāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻāĻ˛ā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ¤ā§ āĻāĻ āĻŦāĻž āĻ
āĻ¨ā§āĻ¯ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻāĻžāĻ¨ āĻšāĻŦā§ pg_stat_database
. āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ. āĻāĻ¤ā§ āĻ
āĻ¨ā§āĻ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦā§āĻāĻŋāĻ¤ā§āĻ°āĻŽāĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯. āĻāĻŦāĻ āĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻŽāĻ°āĻž āĻā§ āĻāĻ˛āĻā§ āĻ¤āĻžāĻ° āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻā§āĻāĻžāĻ¨ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ¸āĻšāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
select
sum(blks_hit)*100/sum(blks_hit+blks_read) as hit_ratio
from pg_stat_database;
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻā§āĻ¯āĻžāĻļā§ āĻšāĻŋāĻ āĻļāĻ¤āĻžāĻāĻļāĨ¤ āĻā§āĻ¯āĻžāĻļā§ āĻšāĻŋāĻ āĻļāĻ¤āĻžāĻāĻļ āĻāĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŽā§āĻā§āĻ°āĻŋāĻ. āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ° āĻā§āĻ¯āĻžāĻļā§ āĻĨā§āĻā§ āĻāĻ¤ āĻĄā§āĻāĻž āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻ āĻĨā§āĻā§ āĻāĻ¤āĻāĻž āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻ¯āĻ¤ āĻŦā§āĻļāĻŋ āĻā§āĻ¯āĻžāĻļā§ āĻšāĻŋāĻ āĻāĻ°āĻŦ, āĻ¤āĻ¤ āĻāĻžāĻ˛ā§. āĻāĻŽāĻ°āĻž āĻāĻ āĻŽā§āĻā§āĻ°āĻŋāĻāĻāĻŋāĻā§ āĻļāĻ¤āĻžāĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻŋāĨ¤ āĻāĻŦāĻ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻā§āĻ¯āĻžāĻļā§ āĻšāĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻļāĻ¤āĻžāĻāĻļ 90% āĻāĻ° āĻŦā§āĻļāĻŋ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ˛āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ 90% āĻāĻ° āĻ¨āĻŋāĻā§ āĻ¨ā§āĻŽā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻ¯āĻĨā§āĻˇā§āĻ āĻŽā§āĻŽāĻ°āĻŋ āĻ¨ā§āĻ āĻ¯āĻžāĻ¤ā§ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻĄā§āĻāĻžāĻ° āĻāĻ°āĻŽ āĻŽāĻžāĻĨāĻž āĻ°āĻžāĻāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻ āĻĄā§āĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, PostgreSQL āĻĄāĻŋāĻ¸ā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻ§ā§āĻ° āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽā§āĻŽāĻ°āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: āĻšāĻ¯āĻŧ āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¨, āĻ āĻĨāĻŦāĻž āĻāĻ¯āĻŧāĻ°āĻ¨ āĻŽā§āĻŽāĻ°āĻŋ (RAM) āĻŦāĻžāĻĄāĻŧāĻžāĻ¨āĨ¤
select
datname,
(xact_commit*100)/(xact_commit+xact_rollback) as c_ratio,
deadlocks, conflicts,
temp_file, pg_size_pretty(temp_bytes) as temp_size
from pg_stat_database;
āĻāĻ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĨā§āĻā§ āĻāĻ° āĻāĻŋ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§? āĻāĻĒāĻ¨āĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻāĻā§ āĻ āĻ¸āĻā§āĻāĻ¤āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧ? āĻāĻŽāĻŋāĻ, āĻ°ā§āĻ˛āĻŦā§āĻ¯āĻžāĻ, āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ, āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻžāĻ°, āĻ āĻāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻž āĻāĻŦāĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻ SQL āĻŦā§āĻļ āĻ¸āĻšāĻ. āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻŽāĻžāĻ¨ āĻāĻā§. āĻāĻŽāĻ°āĻž āĻāĻŽāĻŋāĻ āĻāĻŦāĻ āĻ°ā§āĻ˛āĻŦā§āĻ¯āĻžāĻā§āĻ° āĻ āĻ¨ā§āĻĒāĻžāĻ¤ āĻĻā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋāĻ āĻšāĻ˛ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻ¸āĻĢāĻ˛ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖāĨ¤ āĻ°ā§āĻ˛āĻŦā§āĻ¯āĻžāĻ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ°ā§āĻ˛āĻŦā§āĻ¯āĻžāĻ, āĻ āĻ°ā§āĻĨāĻžā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°ā§āĻā§, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĻā§ āĻāĻžāĻĒ āĻĻāĻŋāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻāĻā§āĻā§ āĻāĻŦāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§ āĻ°ā§āĻ˛āĻŦā§āĻ¯āĻžāĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻžāĻ°āĻžāĻĒ. āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻŋāĻ¤ āĻ¤āĻžāĻĻā§āĻ° āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻā§āĻĄāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻž āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻ¨āĻž āĻāĻā§āĨ¤
āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ°āĻ āĻāĻĄāĻŧāĻžāĻ¨ā§ āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻā§ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻā§ āĻāĻāĻŦā§ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ˛āĻ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§. āĻāĻŦāĻ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻ āĻāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻžāĻ āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻ¯āĻāĻ¨ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻāĻ°ā§, āĻ¤āĻāĻ¨ āĻāĻāĻāĻŋ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻāĻāĻāĻŋ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§ āĻāĻŦāĻ āĻ˛āĻāĻāĻŋ āĻ¨ā§āĻ¯āĻŧ, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸āĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§ āĻāĻŦāĻ āĻ˛āĻāĻāĻŋāĻ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻ¯āĻŧ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻļā§āĻ° āĻ˛āĻāĻāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ°āĻžāĻ° āĻ āĻĒā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻ āĻŦāĻ°ā§āĻĻā§āĻ§ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋāĻ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻāĻ¨ āĻāĻŦāĻ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻā§ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ¤āĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻŦāĻžāĻĄāĻŧāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦāĻŋāĻļāĻĻāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§, āĻāĻĻā§āĻā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻā§ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĢāĻžāĻāĻ˛ (temp_files)āĻ āĻāĻžāĻ°āĻžāĻĒāĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻžāĻ˛, āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĄā§āĻāĻž āĻŽāĻŋāĻāĻŽāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻŽā§āĻŽāĻ°āĻŋ āĻĨāĻžāĻā§ āĻ¨āĻž, āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻāĻāĻž āĻ§ā§āĻ°āĻāĻ¤āĻŋāĻ°. āĻāĻāĻŋ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ PostgreSQL āĻ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻā§ āĻ¸ā§ āĻāĻāĻā§ āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻŦā§āĨ¤ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ˛ā§, Postgres āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻžāĻ¨āĻžāĻŦā§ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŽ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŦā§āĨ¤
pg_stat_bgwriter - āĻāĻ āĻāĻŋāĻ āĻĻā§āĻāĻŋ PostgreSQL āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§: checkpointer
и background writer
.
āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¸ā§āĻ¨ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻŋ, āĻ¤āĻĨāĻžāĻāĻĨāĻŋāĻ¤āĨ¤ checkpoints
. āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŋ? āĻāĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻšāĻ˛ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻā§āĻ° āĻāĻāĻāĻŋ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯ā§ āĻ˛āĻā§ āĻāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ, āĻāĻžāĻā§āĻ° āĻāĻžāĻĒ āĻāĻŦāĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻĻā§āĻ°ā§āĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻĄā§āĻāĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¨ā§āĻāĻ°āĻž āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ā§? āĻ¯āĻĻāĻŋ PostgreSQL āĻ¸āĻŦ āĻ¸āĻŽāĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ§ā§āĻ° āĻšāĻŦā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, PostgreSQL āĻāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻāĻāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸ āĻāĻ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻāĻ°āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻŦāĻž āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻžāĻ˛ āĻĄā§āĻāĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§āĨ¤ āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻĄā§āĻāĻžāĻ° āĻĻā§āĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒāĻžāĻāĨ¤ āĻāĻāĻāĻŋ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§, āĻ
āĻ¨ā§āĻ¯āĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§āĨ¤ āĻāĻŦāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ°āĻŽā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻĄā§āĻāĻž āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¨ā§āĻāĻ°āĻž āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻžāĻ¸ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻ¯ā§ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°ā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻĄā§āĻāĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĻā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻā§. āĻāĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻāĻŽāĻāĻāĻā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻžāĻ˛ - checkpoint_timed
. āĻāĻŦāĻ āĻāĻžāĻšāĻŋāĻĻāĻž āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ - checkpoint required
. āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻā§ āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻŦ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻĨāĻžāĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻ āĻ
āĻ¨ā§āĻ āĻ°ā§āĻāĻ°ā§āĻĄ. āĻāĻŦāĻ PostgreSQL āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻŋāĻā§ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ° āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĻā§āĻā§āĻ¨ pg_stat_bgwriter
āĻāĻŦāĻ āĻĻā§āĻā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋ āĻāĻā§ checkpoint_req āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ_āĻāĻžāĻāĻŽāĻĄā§āĻ° āĻā§āĻ¯āĻŧā§ āĻ
āĻ¨ā§āĻ āĻŦāĻĄāĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻžāĻ°āĻžāĻĒāĨ¤ āĻā§āĻ¨ āĻāĻžāĻ°āĻžāĻĒ? āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ PostgreSQL āĻ§ā§āĻ°ā§āĻŦāĻ āĻāĻžāĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻā§ āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻžāĻāĻŽāĻāĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŽ āĻāĻžāĻĒāĻ¯ā§āĻā§āĻ¤ āĻāĻŦāĻ āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ, āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻŋāĻ˛, āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ PostgreSQL āĻāĻ° āĻāĻžāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻžāĻĒ āĻ¨āĻž āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ PostgreSQL āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦā§āĻ¯āĻ¸ā§āĻ¤ āĻĨāĻžāĻāĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻžāĻĒ āĻ
āĻ¨ā§āĻāĻŦ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤
āĻāĻŦāĻ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§:
-
Ņheckpoint_segments
. -
Ņheckpoint_timeout
. -
Ņheckpoint_competion_target
.
āĻ¤āĻžāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻĒāĻ° āĻŦāĻžāĻ¸ āĻāĻ°āĻŦ āĻ¨āĻž. āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻāĻžāĻŦ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 9.4 āĻāĻ° āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻ¨āĻ¯āĻŧāĨ¤ PostgreSQL āĻāĻ° āĻāĻ§ā§āĻ¨āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§, āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° checkpoint_segments
āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ min_wal_size
и max_wal_size
.
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻšāĻ˛ āĻĒāĻāĻā§āĻŽāĻŋ āĻ˛ā§āĻāĻ â background writer
. āĻ¸ā§ āĻāĻŋ āĻāĻ°āĻā§? āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ
āĻŦāĻŋāĻ°āĻžāĻŽ āĻ˛ā§āĻĒā§ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¨ā§āĻāĻ°āĻž āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°ā§ā§ˇ āĻāĻāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°āĻā§ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§āĨ¤
āĻ¤āĻžāĻ° āĻāĻ° āĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°? āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻšāĻ āĻžā§ āĻāĻ°ā§ (āĻŦāĻĄāĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§ āĻāĻŦāĻ āĻ
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§) āĻĄā§āĻāĻž āĻŽāĻŋāĻāĻŽāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻ§āĻ°ā§āĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻāĻĻā§āĻāĻŦ āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸ backend
āĻ¸ā§ āĻļā§āĻ§ā§ āĻ¸ā§āĻā§āĻ˛ā§ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻžāĻā§ āĻ¨āĻŋāĻā§āĻā§ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻ āĻžā§ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ āĻĒā§āĻˇā§āĻ āĻž āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§, āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°ā§ - āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻā§ āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻā§ maxwritten_clean
āĻŦāĻĄāĻŧ, āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻ˛ā§āĻāĻ āĻ¤āĻžāĻ° āĻāĻžāĻ āĻāĻ°āĻā§āĻ¨ āĻ¨āĻž āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻšāĻŦā§ bgwriter_lru_maxpages
āĻ¯āĻžāĻ¤ā§ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻ āĻāĻā§āĻ°ā§ āĻāĻ°āĻ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻ°āĻ āĻĒā§āĻˇā§āĻ āĻž āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻ°ā§āĻāĻāĻŋ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¸ā§āĻāĻ buffers_backend_fsync
. āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ fsync āĻāĻ°ā§ āĻ¨āĻž āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ§ā§āĻ°āĨ¤ āĻ¤āĻžāĻ°āĻž IO āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°ā§ fsync āĻĒāĻžāĻ¸ āĻāĻ°ā§āĨ¤ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¸āĻžāĻ°āĻŋ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ°āĻŽā§ fsync āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°ā§āĨ¤ āĻā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻ¸āĻžāĻ°āĻŋ āĻŦāĻĄāĻŧ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŖ āĻšāĻ˛ā§, āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ¨āĻŋāĻā§āĻ fsync āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄāĻā§ āĻ§ā§āĻ° āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ, āĻ
āĻ°ā§āĻĨāĻžā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¤āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ āĻŽāĻžāĻ¨āĻāĻŋ āĻļā§āĻ¨ā§āĻ¯ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻāĻā§āĻŽāĻŋ āĻ˛ā§āĻāĻā§āĻ° āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: _āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯āĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĻāĻ¤ āĻĻā§āĻˇā§āĻāĻŋāĻāĻā§āĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸ 10-āĻ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻāĻŋāĻ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻāĻŋāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĨ¤ xlog
āĻāĻĒāĻ° wal
и location
āĻāĻĒāĻ° lsn
āĻĢāĻžāĻāĻļāĻ¨/āĻāĻŋāĻ āĻ¨āĻžāĻŽ, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ¤ā§ āĻŦāĻŋāĻļā§āĻˇ āĻāĻĻāĻžāĻšāĻ°āĻŖ, āĻĢāĻžāĻāĻļāĻ¨ pg_xlog_location_diff()
āĻ¨āĻžāĻŽāĻāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ pg_wal_lsn_diff()
._
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ¨ā§āĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻāĻā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻāĻā§āĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨.
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŋ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ¨, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻĒāĻāĻŋ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻĒāĻŋāĻāĻŋāĻ¯āĻŧā§ āĻ¨ā§āĻāĨ¤
āĻāĻ āĻšā§āĻā§āĻ¸āĻžāĻĄā§āĻ¸āĻŋāĻŽā§āĻ˛ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻŋāĻā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĨāĻžāĻāĻ˛ā§ āĻāĻāĻŋ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ: āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻž, āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
ŅĐēĐžĐģŅĐēĐž СаĐŋиŅĐ°ĐŊĐž xlog в йаКŅĐ°Ņ
$ select
pg_xlog_location_diff(pg_current_xlog_location(),'0/00000000');
ĐģĐ°Đŗ ŅĐĩĐŋĐģиĐēĐ°Ņии в йаКŅĐ°Ņ
$ select
client_addr,
pg_xlog_location_diff(pg_current_xlog_location(), replay_location)
from pg_stat_replication;
ĐģĐ°Đŗ ŅĐĩĐŋĐģиĐēĐ°Ņии в ŅĐĩĐēŅĐŊĐ´Đ°Ņ
$ select
extract(epoch from now() - pg_last_xact_replay_timestamp());
āĻāĻ¸āĻŦ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ˛ā§ āĻāĻāĻ§āĻ°āĻ¨ā§āĻ° āĻ˛ā§āĻ¯āĻžāĻ āĻĨāĻžāĻā§āĨ¤ āĻ˛ā§āĻ¯āĻžāĻ āĻšāĻ˛ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻĒā§āĻ° āĻ˛ā§āĻ¯āĻžāĻ, āĻ āĻ°ā§āĻĨāĻžā§ āĻĄā§āĻāĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛āĻžāĻĻāĻžāĨ¤
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¯āĻž āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻā§āĻ āĻ˛ā§āĻāĻžāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤
- āĻāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ, āĻŦāĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻāĻžāĻ°āĻ˛ā§āĻĄ, āĻ¯āĻāĻ¨ āĻĄā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻĒ āĻĒā§āĻāĻāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĨāĻžāĻā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤
- āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻāĻāĻāĻŋ āĻā§āĻŦ āĻŦāĻŋāĻ°āĻ˛ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§. āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻŋāĻ¨āĻŦāĻžāĻ° āĻĻā§āĻā§āĻāĻŋ, āĻ¤āĻŦā§ āĻāĻāĻŋāĻ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻ˛āĻā§ āĻāĻ¤āĻāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻāĻŽāĻ°āĻž āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§ pg_xlog_location_diff
āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻŦāĻžāĻāĻ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻāĻŋāĻ (VIEWs) āĻĨā§āĻā§ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: pg_xlog_location-āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§diff() āĻĢāĻžāĻāĻļāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻ¯āĻŧā§āĻ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ¯ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻŋāĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ°āĻžāĻŽāĻĒā§āĻ°āĻĻ.
āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻ¸āĻā§āĻā§, āĻ¯āĻž āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§, āĻāĻāĻāĻŋ āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻāĻā§. āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻā§āĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§, āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 15 āĻŽāĻŋāĻ¨āĻŋāĻ āĻāĻā§ āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻā§āĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻ¨ā§āĻ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻāĻ āĻ˛ā§āĻ¯āĻžāĻāĻāĻŋ āĻĻā§āĻāĻŋ, āĻāĻŽāĻ°āĻž 15 āĻŽāĻŋāĻ¨āĻŋāĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦāĨ¤ āĻāĻāĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻžāĻ° āĻŽāĻ¤ā§āĨ¤ āĻāĻŦāĻ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻĻā§āĻā§āĻā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻ¤āĻŽā§āĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
pg_stat_all_tables āĻāĻ°ā§āĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻāĨ¤ āĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻā§āĻŦāĻŋāĻ˛ āĻĨāĻžāĻā§, āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĨāĻžāĻā§, āĻāĻŋāĻā§ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻĨāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻŋāĻ āĻĨā§āĻā§ āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
select
relname,
pg_size_pretty(pg_relation_size(relname::regclass)) as size,
seq_scan, seq_tup_read,
seq_scan / seq_tup_read as seq_tup_avg
from pg_stat_user_tables
where seq_tup_read > 0 order by 3,4 desc limit 5;
āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¤āĻž āĻšāĻ˛ āĻā§āĻ°āĻŽāĻŋāĻ āĻā§āĻŦāĻŋāĻ˛ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨āĨ¤ āĻāĻ āĻĒā§āĻ¯āĻžāĻ¸ā§āĻā§āĻ° āĻĒāĻ°ā§ āĻ¸āĻāĻā§āĻ¯āĻžāĻāĻŋ āĻ āĻāĻ¤ā§āĻ¯āĻž āĻāĻžāĻ°āĻžāĻĒ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¨āĻž āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŽā§āĻā§āĻ°āĻŋāĻ āĻāĻā§ - seq_tup_readāĨ¤ āĻāĻāĻŋ āĻā§āĻ°āĻŽāĻŋāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻĨā§āĻā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĄāĻŧ āĻ¸āĻāĻā§āĻ¯āĻž 1, 000, 10, 000-āĻāĻ° āĻŦā§āĻļāĻŋ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻĨāĻžāĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻšāĻ¯āĻŧ, āĻŦāĻž āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻ¨ā§āĻā§āĻ°āĻŽāĻŋāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻž āĻāĻāĻŦā§ āĻ¨āĻž.
āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ - āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ āĻĢāĻ¸ā§āĻ āĻāĻŦāĻ āĻ¸ā§āĻŽāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻāĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ā§ˇ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° 100 āĻ¸āĻžāĻ°āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻĒāĻ°ā§ 000āĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻžāĻ°āĻŋ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻ¸āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻ āĻāĻāĻāĻž āĻāĻžāĻ°āĻžāĻĒ āĻā§āĻ¸āĨ¤ āĻāĻŦāĻ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨. āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ° āĻāĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¨āĻŽā§āĻŦāĻ°āĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
select
relname,
pg_size_pretty(pg_total_relation_size(relname::regclass)) as
full_size,
pg_size_pretty(pg_relation_size(relname::regclass)) as
table_size,
pg_size_pretty(pg_total_relation_size(relname::regclass) -
pg_relation_size(relname::regclass)) as index_size
from pg_stat_user_tables
order by pg_total_relation_size(relname::regclass) desc limit 10;
āĻāĻ āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ pg_total_relation_size()
, pg_relation_size()
.
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻŽā§āĻāĻžāĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻā§ dt
и di
, āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ PSQL āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻŦāĻŋāĻ˛ āĻāĻŦāĻ āĻ¸ā§āĻāĻā§āĻ° āĻāĻāĻžāĻ°āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŽāĻžāĻĻā§āĻ°āĻā§ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§, āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§, āĻāĻŦāĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻŋāĻā§ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻŋ āĻ¤ā§āĻŦā§āĻ°āĻ¤āĻž, āĻāĻŦāĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻžāĻāĻāĻŋāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻāĻāĻāĻž.
āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻ˛āĻŋāĻā§āĻ¨āĨ¤ āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻŋ? āĻāĻ˛ā§āĻ¨ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĻā§āĻāĻŋ UPDATE
- āĻā§āĻŦāĻŋāĻ˛ā§ āĻ¸āĻžāĻ°āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĨ¤ āĻāĻ¸āĻ˛ā§, āĻāĻĒāĻĄā§āĻ āĻšāĻ˛ āĻĻā§āĻāĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ (āĻŦāĻž āĻāĻ°āĻ āĻŦā§āĻļāĻŋ)āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋāĻā§ āĻ
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻā§ā§ˇ āĻĒāĻ°ā§, āĻ
āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻāĻ¸āĻŦā§ āĻāĻŦāĻ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ āĻ
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŦā§, āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻāĻŋāĻā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻŦā§āĨ¤
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻĄā§āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻāĻĒāĻĄā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻž āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻāĻĒāĻĄā§āĻ. āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§ āĻĨāĻžāĻā§, āĻ¤āĻŦā§ āĻāĻĒāĻĄā§āĻā§āĻ° āĻ¸āĻžāĻĨā§, āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§āĻ¤ā§ āĻ āĻāĻļ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋāĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ā§ˇ āĻāĻ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻ° āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ āĻĨāĻžāĻāĻŦā§ āĻ¯āĻž āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°ā§ˇ
select
s.relname,
pg_size_pretty(pg_relation_size(relid)),
coalesce(n_tup_ins,0) + 2 * coalesce(n_tup_upd,0) -
coalesce(n_tup_hot_upd,0) + coalesce(n_tup_del,0) AS total_writes,
(coalesce(n_tup_hot_upd,0)::float * 100 / (case when n_tup_upd > 0
then n_tup_upd else 1 end)::float)::numeric(10,2) AS hot_rate,
(select v[1] FROM regexp_matches(reloptions::text,E'fillfactor=(\d+)') as
r(v) limit 1) AS fillfactor
from pg_stat_all_tables s
join pg_class c ON c.oid=relid
order by total_writes desc limit 50;
āĻāĻŦāĻ āĻāĻ° āĻĄāĻŋāĻāĻžāĻāĻ¨ā§āĻ° āĻāĻžāĻ°āĻŖā§, āĻāĻĒāĻĄā§āĻ āĻāĻāĻāĻŋ āĻšā§āĻāĻŋāĻāĻ¯āĻŧā§āĻ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¸āĻšāĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§. āĻāĻžāĻāĻ¯āĻŧāĻž hot updates
. āĻ¤āĻžāĻ°āĻž PostgreSQL āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 8.3 āĻ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ° āĻāĻāĻž āĻāĻŋ? āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻāĻāĻ¯āĻŧā§āĻ āĻāĻĒāĻĄā§āĻ āĻ¯āĻž āĻ¸ā§āĻā§ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ
āĻ°ā§āĻĨāĻžā§, āĻāĻŽāĻ°āĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄ (āĻ¯āĻž āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤) āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻāĻāĻ¨āĻ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻāĻāĻ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĨ¤ āĻāĻžāĻā§āĻ° āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻā§, āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻļā§āĻ¨ā§āĻ¯āĻ¤āĻž āĻāĻ¸ā§, āĻ¤āĻāĻ¨ āĻāĻāĻŋāĻ¤ā§ āĻāĻ āĻā§āĻāĻ¨āĻā§āĻ˛āĻŋ āĻĨāĻžāĻā§ hot
āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻ¨āĻž āĻāĻ°ā§āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻāĻŽ āĻ
āĻĒāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĨ¤
āĻāĻŦāĻ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻā§ n_tup_hot_upd
āĻŦāĻĄāĻŧ, āĻāĻāĻž āĻā§āĻŦ āĻāĻžāĻ˛ā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻšāĻžāĻ˛ā§āĻāĻž āĻāĻĒāĻĄā§āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ§āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ¸ā§āĻ¤āĻž āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§āĨ¤
ALTER TABLE table_name SET (fillfactor = 70);
āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ˛āĻŋāĻāĻŽ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ hot update
ov? āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ fillfactor
. INSERTs āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻž āĻĒā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļāĻā§āĻ˛āĻŋ āĻ¯āĻāĻ¨ āĻā§āĻŦāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°ā§, āĻāĻ¤ā§ āĻāĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻā§āĻĄāĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻˇā§āĻ āĻž āĻšāĻžāĻāĻ˛āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĄā§āĻāĻž āĻāĻŦāĻžāĻ° āĻĒā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻāĻ°āĻŖ, āĻĢāĻŋāĻ˛āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° = 100%āĨ¤
āĻāĻŽāĻ°āĻž āĻĢāĻŋāĻ˛āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° 70% āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻ¸āĻš, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻˇā§āĻ āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¤āĻŦā§ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻŽāĻžāĻ¤ā§āĻ° 70% āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž 30% āĻ°āĻŋāĻāĻžāĻ°ā§āĻ āĻŦāĻžāĻāĻŋ āĻāĻā§. āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻāĻāĻŦā§ āĻāĻŦāĻ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻāĻ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĢāĻŋāĻ āĻšāĻŦā§ā§ˇ āĻāĻŦāĻ hot_update āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻ˛ā§āĻāĻž āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
select c.relname,
current_setting('autovacuum_vacuum_threshold') as av_base_thresh,
current_setting('autovacuum_vacuum_scale_factor') as av_scale_factor,
(current_setting('autovacuum_vacuum_threshold')::int +
(current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples))
as av_thresh,
s.n_dead_tup
from pg_stat_user_tables s join pg_class c ON s.relname = c.relname
where s.n_dead_tup > (current_setting('autovacuum_vacuum_threshold')::int
+ (current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples));
āĻ āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻ¸āĻžāĻ°āĻŋāĨ¤ Autovacuum āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ PostgreSQL-āĻ āĻā§āĻŦ āĻāĻŽ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° pg_stat_activity-āĻāĻ° āĻā§āĻŦāĻŋāĻ˛ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¤āĻā§āĻ˛āĻŋ āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻāĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§ āĻāĻ¤āĻā§āĻ˛āĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻŦā§āĻāĻž āĻā§āĻŦ āĻāĻ āĻŋāĻ¨āĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: _ Postgres 10 āĻāĻ° āĻĒāĻ° āĻĨā§āĻā§, āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ āĻ¨ā§āĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻšāĻ¯āĻŧā§āĻā§ - pg_stat_progress āĻāĻŋāĻ āĻĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ, āĻ¯āĻž āĻ āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋāĻā§ āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻ¸āĻ°āĻ˛ āĻāĻ°ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻāĻ¨ āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻāĻ¨ āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤? āĻāĻŽāĻŋ āĻāĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋ āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĨ¤ āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧā§āĻā§, āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĸā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻā§āĻŦāĻŋāĻ˛ pg_stat_user_tables
āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻā§ n_dead_tup
. āĻāĻāĻŋ "āĻŽā§āĻ¤" āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻŽā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻšāĻ¯āĻŧā§ āĻā§āĻā§, āĻāĻāĻāĻŋ āĻ
āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻ¸āĻŦā§āĨ¤
āĻāĻŦāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ? āĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŽā§āĻ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻļāĻ¤āĻžāĻāĻļāĨ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻā§ autovacuum_vacuum_scale_factor
. āĻāĻāĻŋ āĻļāĻ¤āĻžāĻāĻļ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ 10% + 50 āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦā§āĻ¸ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻāĻā§āĨ¤ āĻāĻŦāĻ āĻāĻŋ āĻšāĻ¯āĻŧ? āĻ¯āĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ° "10% + 50" āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻŽā§āĻ¤ āĻ¸āĻžāĻ°āĻŋ āĻĨāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛āĻāĻŋāĻā§ āĻ
āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽā§ āĻ°āĻžāĻāĻŋāĨ¤
select c.relname,
current_setting('autovacuum_vacuum_threshold') as av_base_thresh,
current_setting('autovacuum_vacuum_scale_factor') as av_scale_factor,
(current_setting('autovacuum_vacuum_threshold')::int +
(current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples))
as av_thresh,
s.n_dead_tup
from pg_stat_user_tables s join pg_class c ON s.relname = c.relname
where s.n_dead_tup > (current_setting('autovacuum_vacuum_threshold')::int
+ (current_setting('autovacuum_vacuum_scale_factor')::float * c.reltuples));
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻā§. āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻ˛āĻŋāĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ av_base_thresh
и av_scale_factor
āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻāĻžāĻŦā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŦāĻ, āĻ¸ā§āĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻšāĻŦā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻļāĻ˛ āĻāĻŦāĻ āĻā§āĻļāĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¨, āĻāĻĒāĻ¨āĻŋ Avito āĻĨā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻšāĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¸ā§āĻ˛āĻžāĻāĻĄā§āĻ° āĻ˛āĻŋāĻā§āĻāĻāĻŋ āĻ
āĻŦā§āĻ§ āĻāĻŦāĻ āĻĒāĻžāĻ ā§āĻ¯ā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)āĨ¤
āĻ¤āĻžāĻ°āĻž āĻāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻā§āĻā§āĻ¨
āĻāĻŽāĻ°āĻž āĻāĻāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻ¸āĻžāĻ°āĻŋ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻ āĻā§āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻŦāĻž āĻā§āĻŦāĻ˛ āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽāĻā§ āĻāĻ°āĻ āĻāĻā§āĻ°āĻŽāĻŖāĻžāĻ¤ā§āĻŽāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻāĻā§ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°ā§, āĻā§āĻŦāĻŋāĻ˛āĻāĻŋāĻā§ āĻā§āĻ āĻā§āĻ āĻā§āĻāĻ°ā§ āĻāĻ°ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻ°ā§āĨ¤ āĻāĻ° āĻāĻāĻžāĻŦā§ āĻ¸āĻžāĻ°āĻŋ āĻāĻŽā§ āĻ¯āĻžāĻŦā§āĨ¤ - āĻāĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ. āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻ¨āĻ¯āĻŧ, āĻ¯āĻĻāĻŋāĻ SSD/NVMe āĻĄāĻŋāĻāĻžāĻāĻ¸ā§āĻ° āĻāĻŦāĻŋāĻ°ā§āĻāĻžāĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŽ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§āĨ¤
pg_stat_all_indexes āĻšāĻ˛ āĻāĻ¨āĻĄā§āĻā§āĻ¸ā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĨ¤ āĻ¸ā§ āĻŦāĻĄāĻŧ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻĨā§āĻā§ āĻ¸ā§āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻā§āĻ¨ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻā§āĨ¤
āĻāĻā§āĻ āĻŦāĻ˛ā§āĻāĻŋ, āĻāĻĒāĻĄā§āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻŦāĻŋāĻ˛ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻā§ āĻ¨āĻž, āĻāĻāĻŋ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻā§āĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ˛ā§ āĻ
āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§ āĻĨāĻžāĻā§, āĻ¤āĻŦā§ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ¸āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸ā§āĻā§āĻ¯ā§āĻā§āĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ° āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻā§ āĻĨāĻžāĻā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻ¸ā§āĻāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻ¨ā§āĻ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦā§āĻ¯āĻžāĻ˛āĻžāĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ˛ā§ āĻĨāĻžāĻā§āĨ¤ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§āĻ¤ā§ āĻšāĻŦā§. āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻĻāĻ°āĻāĻžāĻ° idx_scan
. āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ¸ā§āĻāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻž āĻ¤āĻžāĻāĻžāĻ¨. āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻā§āĻāĻ¯āĻŧā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° (āĻāĻŽāĻĒāĻā§āĻˇā§ 2-3 āĻ¸āĻĒā§āĻ¤āĻžāĻš) āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋāĻ° āĻļā§āĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻĨāĻžāĻā§, āĻ¤āĻŦā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻ¸ā§āĻāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻ¸ā§āĻā§āĻ°āĻŋāĻŽāĻŋāĻ āĻ°ā§āĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻāĻāĻāĻŋ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ˛ā§āĻĄ āĻĨāĻžāĻā§)āĨ¤
āĻĻā§āĻāĻŋ āĻ˛āĻŋāĻā§āĻ:
āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ˛āĻŋ āĻāĻ°āĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ˛āĻŋāĻā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻ°āĻ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻĒā§āĻ°āĻļā§āĻ¨āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻ¤ā§āĻā§āĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻā§āĨ¤ āĻāĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ.
āĻāĻ° āĻāĻŋ āĻ¸ā§āĻā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤?
-
āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻāĻ āĻāĻžāĻ°āĻžāĻĒ.
-
āĻ¤āĻžāĻ°āĻž āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¨ā§āĻ¯āĻŧāĨ¤
-
āĻāĻĒāĻĄā§āĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ§ā§āĻ°.
-
āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻžāĻāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻā§āĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻŋ, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĻāĻŋāĻā§ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻāĻ°āĻŦāĨ¤
āĻĒāĻ°ā§āĻ° āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ pg_stat_activity
. āĻāĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ ps
, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° PostgreSQL āĻāĨ¤ āĻ¯āĻĻāĻŋ ps
'āĻāĻšāĻŽ āĻāĻĒāĻ¨āĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ pg_stat_activity
āĻāĻĒāĻ¨āĻžāĻā§ PostgreSQL āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĻā§āĻāĻžāĻŦā§āĨ¤
āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ?
select
count(*)*100/(select current_setting('max_connections')::int)
from pg_stat_activity;
āĻāĻŽāĻ°āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻāĻā§ āĻ¯ā§ āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻŦāĻŋāĻ¸ā§āĻĢā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¯ā§āĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¨āĻž, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻĸā§āĻ˛ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻā§āĻā§āĨ¤
select
client_addr, usename, datname, count(*)
from pg_stat_activity group by 1,2,3 order by 4 desc;
āĻāĻŽāĻ°āĻž āĻāĻāĻ°āĻāĻŽ āĻāĻāĻāĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻŽāĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻŽā§āĻ āĻļāĻ¤āĻžāĻāĻļ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŦāĻ āĻāĻ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĻā§āĻāĻ¤ā§ cron_role
508āĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§ āĻāĻā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻŦāĻ āĻĻā§āĻāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨. āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻļ āĻ¸āĻŽā§āĻāĻŦ āĻ¯ā§ āĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻāĻ°āĻāĻŽ āĻ
āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻžāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ OLTP āĻ˛ā§āĻĄ āĻĨāĻžāĻā§, āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤, āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧā§ˇ āĻ¤āĻŦā§, āĻ¯āĻĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĨāĻžāĻā§, āĻ¤āĻŦā§ āĻ¸ā§āĻŦāĻ˛ā§āĻĒāĻŽā§āĻ¯āĻŧāĻžāĻĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻžāĻ° āĻāĻŋāĻā§ āĻ¨ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻāĻŽā§āĻ¯āĻŧāĻžāĻĻā§, āĻĻā§āĻ°ā§āĻ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻ°ā§, āĻ¤āĻžāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŦā§āĻ˛ā§āĻ āĻĒā§āĻ°āĻāĻžāĻŦ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻā§āĻŦāĻŋāĻ˛ āĻĢā§āĻ°ā§āĻ¯āĻžāĻāĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻā§āĨ¤ āĻĢā§āĻ˛āĻž āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻāĻ¯āĻŧāĻ āĻ¨āĻŋāĻˇā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
select
client_addr, usename, datname,
clock_timestamp() - xact_start as xact_age,
clock_timestamp() - query_start as query_age,
query
from pg_stat_activity order by xact_start, query_start;
āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨: āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§, āĻāĻŽāĻ°āĻž āĻĻā§āĻ°ā§āĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻŦāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ clock_timestamp()
āĻāĻžāĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§āĨ¤ āĻĻā§āĻ°ā§āĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĒā§āĻ¯āĻŧā§āĻāĻŋ, āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ explain
, āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻ°āĻāĻŽ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĻā§āĻ°ā§āĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻļā§āĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻžāĻ¸.
select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';
āĻāĻžāĻ°āĻžāĻĒ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŦāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ (āĻ āĻŦāĻ¸ā§āĻ¤) āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĨ¤
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻā§? āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻ°āĻžāĻā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŦāĻ āĻāĻ āĻ°āĻžāĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¯ā§ āĻā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§. āĻ°āĻžāĻˇā§āĻā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻāĻā§ state
āĻāĻ āĻĻā§āĻļā§āĻ¯ā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻ°āĻžāĻˇā§āĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';
āĻāĻŦāĻ, āĻāĻŽāĻŋ āĻāĻĒāĻ°ā§ āĻŦāĻ˛ā§āĻāĻŋ, āĻāĻ āĻĻā§āĻāĻŋ āĻ°āĻžāĻˇā§āĻā§āĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŦāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ (āĻ āĻŦāĻ¸ā§āĻ¤) āĻāĻžāĻ°āĻžāĻĒāĨ¤ āĻāĻāĻž āĻāĻŋ? āĻāĻāĻŋ āĻ¯āĻāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻā§āĻ˛ā§, āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻā§āĻ˛āĻž āĻĨāĻžāĻā§āĨ¤ āĻāĻāĻŋ āĻā§āĻ˛ā§ āĻĨāĻžāĻā§, āĻāĻ¤ā§ āĻāĻŋāĻā§āĻ āĻāĻā§ āĻ¨āĻž, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¨ā§āĻ¯āĻŧ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ˛āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯āĻāĻžāĻŦā§ āĻāĻŽāĻ¨āĻāĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻĢā§āĻ˛āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ, āĻĒā§āĻ¸ā§āĻāĻ°āĻā§āĻ¸ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ°āĻŖā§āĨ¤ āĻāĻŦāĻ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĻā§āĻ˛āĻŋāĻ āĻā§āĻ˛āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¯ā§ āĻā§āĻ¨āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻā§āĻˇāĻ¤āĻŋāĻāĻžāĻ°āĻāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ 5-10-20 āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ āĻāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋāĻā§ āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻŖāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ clock_timestamp()
. āĻāĻŽāĻ°āĻž āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ
āĻā§āĻā§āĻ°, āĻāĻŽāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ.
āĻāĻŽāĻŋ āĻāĻĒāĻ°ā§ āĻŦāĻ˛ā§āĻāĻŋ, āĻ˛āĻ āĻšāĻ˛ āĻ¯āĻāĻ¨ āĻĻā§āĻ āĻŦāĻž āĻ¤āĻ¤ā§āĻ§āĻŋāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻ āĻŦāĻž āĻāĻāĻĻāĻ˛ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻāĻ°ā§āĨ¤ āĻ āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§āĻā§ waiting
āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻŽāĻžāĻ¨ āĻ¸āĻš true
āĻŦāĻž false
.
āĻ¸āĻ¤ā§āĻ¯ - āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻā§, āĻāĻŋāĻā§ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻā§, āĻ¤āĻāĻ¨ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§āĻ°ā§ āĻāĻ°ā§āĻā§ āĻ¸ā§āĻ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻā§āĨ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦāĻ¸ā§ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: _ Postgres 9.6 āĻĨā§āĻā§ āĻļā§āĻ°ā§, āĻā§āĻˇā§āĻ¤ā§āĻ° waiting
āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻ°āĻ āĻĻā§āĻāĻŋ āĻ¤āĻĨā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ wait_event_type
и wait_event
._
āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§? āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ āĻā§āĻā§āĻ°. āĻāĻŽāĻ°āĻž āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻ˛āĻŋāĻāĻŋ āĻ¯āĻž āĻā§āĻ¨āĻāĻžāĻŦā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¯āĻžāĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻ¨āĻž āĻšāĻ¯āĻŧā§ˇ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻ¨āĻž āĻāĻā§āĨ¤
āĻāĻŦāĻ āĻāĻ°āĻŽ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ āĻāĻāĻ¨āĻž āĻ¨āĻ¯āĻŧ āĻ āĻāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻāĻāĻ¨āĻžāĨ¤ āĻĻā§āĻāĻŋ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻĻā§āĻāĻŋ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§āĻā§, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻŦāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§āĻā§, āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§āĨ¤ PostgreSQL āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ¨āĻŋāĻā§āĻ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻāĻŋ āĻāĻžāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻ¤ āĻļā§āĻˇ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻŦāĻ āĻ¸ā§ āĻ¨āĻŋāĻā§āĻ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ āĻ¤āĻāĻŦ, PostgreSQL āĻāĻ°āĻŽ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧāĨ¤
āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻāĻŽāĻ°āĻž āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ pg_locks
, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ°ā§ āĻ˛āĻ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻŋāĻā§āĻāĻāĻŋ āĻ¨āĻŋāĻā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒāĻžāĻ ā§āĻ¯āĨ¤ āĻāĻāĻž āĻŦā§āĻļ āĻ˛āĻŽā§āĻŦāĻž.
āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ˛āĻŋāĻā§āĻāĻāĻŋ āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĨ¤ āĻāĻāĻž āĻĒāĻĄāĻŧāĻž āĻĻāĻ°āĻāĻžāĻ°ā§, āĻāĻāĻž āĻā§āĻŦ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ.
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ? āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĻā§āĻāĻ¤ā§. āĻ¸āĻā§āĻā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ ALTER TABLE
āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻāĻŋāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻŦāĻ āĻ¯ā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻā§ āĻ¸ā§āĻāĻŋ āĻā§āĻĨāĻžāĻ āĻ
āĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°āĻā§āĨ¤ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧ. āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻāĻžāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻā§ āĻāĻžāĻā§ āĻ¤āĻžāĻ˛āĻžāĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĻā§, āĻā§ āĻāĻžāĻā§ āĻ§āĻ°ā§ āĻ°ā§āĻā§āĻā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻāĻ°āĻ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻ˛ pg_stat_statements
. āĻāĻŽāĻŋ āĻ¯ā§āĻŽāĻ¨ āĻŦāĻ˛ā§āĻāĻŋ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛āĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, PostgreSQL āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš), āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻŋāĻ āĻĨāĻžāĻāĻŦā§āĨ¤
CŅĐĩĐ´ĐŊĐĩĐĩ вŅĐĩĐŧŅ СаĐŋŅĐžŅĐ° в ĐŧиĐģиŅĐĩĐēŅĐŊĐ´Đ°Ņ
$ select (sum(total_time) / sum(calls))::numeric(6,3)
from pg_stat_statements;
ĐĄĐ°ĐŧŅĐĩ Đ°ĐēŅивĐŊĐž ĐŋиŅŅŅиĐĩ (в shared_buffers) СаĐŋŅĐžŅŅ
$ select query, shared_blks_dirtied
from pg_stat_statements
where shared_blks_dirtied > 0 order by 2 desc;
āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŋ, āĻāĻŽāĻ°āĻž āĻāĻĄāĻŧ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻā§, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¸āĻžāĻĄāĻŧāĻž āĻĻāĻŋāĻā§āĻā§ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°āĨ¤
āĻāĻŽāĻ°āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ˛ā§āĻāĻžāĻ° āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻž āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĨ¤ āĻā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĄā§āĻāĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§ āĻŦāĻž āĻŽā§āĻā§ āĻĻā§āĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻā§āĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
āĻāĻŽāĻ°āĻž pg_stat_statements
āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻĻāĻŋāĻ¨ā§ āĻāĻāĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°āĻŋāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻž āĻāĻŽāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ. āĻĒāĻ°ā§āĻ° āĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ āĻāĻā§. āĻāĻĒāĻ¨āĻŋ āĻāĻāĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
āĻāĻŽāĻ°āĻž āĻāĻŋ āĻāĻ°āĻāĻŋ? āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§ āĻāĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ āĻŦāĻĻāĻžāĻ¨ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻŋāĨ¤
āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻāĻŽāĻ°āĻž āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒāĻāĻā§āĻŽāĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ§āĻ°āĻŖā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻŽā§āĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ CPU āĻāĻŦāĻ I/O āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§. āĻāĻŽāĻ°āĻž āĻāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻļā§āĻ°ā§āĻˇ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻāĻŋ āĻāĻŦāĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻŦāĻžāĻ° āĻĒāĻžāĻā§āĻāĻŋā§ˇ
āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻĻāĻžāĻ° āĻĒāĻŋāĻāĻ¨ā§ āĻāĻŋ āĻāĻā§? āĻāĻāĻ¨āĻ āĻāĻŋāĻā§ āĻāĻŽāĻž āĻāĻā§ āĻ¯āĻž āĻāĻŽāĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŋāĻ¨āĻŋ, āĻāĻžāĻ°āĻŖ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŽāĻŋāĻ¤āĨ¤
āĻāĻā§ pgstattuple
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ
āĻŦāĻĻāĻžāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ bloat
āĻā§āĻŦāĻŋāĻ˛, āĻ¤āĻĨāĻžāĻāĻĨāĻŋāĻ¤. āĻā§āĻŦāĻŋāĻ˛ āĻŦāĻŋāĻāĻā§āĻ¤āĻāĻ°āĻŖāĨ¤ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻāĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻŦāĻĄāĻŧ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻ
āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāĻ¨ pgstattuple
āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻāĻ°ā§ āĻā§āĻŦāĻŋāĻ˛, āĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻāĻžāĻ āĻāĻ°āĻŦā§.
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ
āĻŦāĻĻāĻžāĻ¨ āĻšāĻ˛ pg_buffercache
. āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ: āĻāĻ¤āĻāĻž āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻā§āĻ¨ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŦāĻžāĻĢāĻžāĻ° āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻā§ āĻāĻāĻā§ āĻ¤āĻž āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻ˛ pgfincore
. āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻā§āĻŦāĻŋāĻ˛ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ mincore()
, āĻ
āĻ°ā§āĻĨāĻžā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻŦāĻŋāĻ˛āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°ā§ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻāĻŋ, āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĒā§āĻˇā§āĻ āĻž āĻā§āĻ¯āĻžāĻļā§ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ, āĻ
āĻ°ā§āĻĨāĻžā§, āĻāĻžāĻ āĻāĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻā§āĻ¯āĻžāĻļā§ āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻāĻ¤āĻāĻž āĻĻāĻāĻ˛ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻŦāĻ˛ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ˛ā§āĻĄ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻ˛ pg_stat_kcache
. āĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ getrusage()
. āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻŦāĻ āĻĒāĻ°ā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§, āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻ I/O-āĻ¤ā§ āĻāĻ¤āĻāĻž āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°ā§āĻā§, āĻ
āĻ°ā§āĻĨāĻžā§, āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻ¤āĻ°ā§āĻŖ (āĻā§-āĻā§) āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ PostgreSQL 9.4 āĻāĻŦāĻ pg_stat_statements, āĻ¯āĻž āĻāĻŽāĻŋ āĻāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻāĻŋāĨ¤
-
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
-
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻšāĻ, āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ SQLāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§āĻā§āĻ¨, āĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻāĻ°ā§āĻā§āĻ¨, āĻāĻāĻŋ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻā§āĻ¨, āĻāĻāĻŋ āĻĻā§āĻā§āĻā§āĻ¨āĨ¤
-
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻā§, āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ā§ āĻ¯āĻžāĻ¨ - āĻĻā§āĻā§āĻ¨, āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻāĻāĻā§āĻ¨, āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨āĨ¤
-
āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž. āĻĒā§āĻ°āĻā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§, āĻĒā§āĻ°āĻā§āĻ° āĻĄā§āĻāĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻāĻŋāĻā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¸āĻ˛āĻāĻŋāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻžāĻ˛ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ
āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻŦā§āĻ§ āĻ˛āĻŋāĻā§āĻ, āĻ¯āĻžāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ā§ āĻāĻŋāĻ˛.
āĻ˛ā§āĻāĻ āĻāĻ°ā§ āĻ˛āĻŋāĻā§āĻ¨
āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻžāĻšāĻ
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻā§āĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻļāĻ¨
āĻŽāĻĄāĻŋāĻāĻ˛ āĻ
āĻŦāĻĻāĻžāĻ¨
āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻŦāĻ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!
āĻāĻ¤ā§āĻ¸: www.habr.com