PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ…ā§āĻ¯āĻžāĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸ā§‹āĻ­āĻ¸ā§āĻ•āĻŋāĻ° 2015 āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ "āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ"

āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻ˛ā§‡āĻ–āĻ• āĻĨā§‡āĻ•ā§‡ āĻĻāĻžāĻŦāĻŋāĻ¤ā§āĻ¯āĻžāĻ—: āĻ†āĻŽāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨āĻŸāĻŋ āĻ¨āĻ­ā§‡āĻŽā§āĻŦāĻ° 2015 āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° - 4 āĻŦāĻ›āĻ°ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‡āĻŸā§‡ āĻ—ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡ āĻ†āĻ˛ā§‹āĻšāĻŋāĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 9.4 āĻ†āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻ—āĻ¤ 4 āĻŦāĻ›āĻ°ā§‡, 5āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨, āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻ¨āĻ¯āĻŧā§ˇ āĻ†āĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡, āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻžāĻ āĻ• āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻž āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻƒāĻ˛āĻŋāĻ–āĻ¨ āĻ•āĻ°āĻŋāĻ¨āĻŋ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ āĻšāĻžāĻ˛ā§ āĻšāĻŦā§‡āĨ¤

PostgreSQL DBMS āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ, āĻāĻŦāĻ‚ āĻāĻ‡ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤, āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻžāĻœ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ DBMS-āĻāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨, āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ PostgreSQL āĻāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻ°āĻ‚ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…-āĻ¤ā§āĻšā§āĻ› āĻ•āĻžāĻœ, āĻāĻŦāĻ‚ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻāĻŦāĻ‚ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋāĻ° "āĻšāĻŋāĻĄāĻŧāĻŋāĻ¯āĻŧāĻžāĻ–āĻžāĻ¨āĻž" āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ¨ā§āĻ¨āĻ¤ DBA āĻ•ā§‡ āĻ¸āĻšāĻœā§‡āĻ‡ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ


āĻļā§āĻ­ āĻ…āĻĒāĻ°āĻžāĻšā§āĻ¨ āĻ†āĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĨ¤ āĻ¯ā§‡āĻŽāĻ¨ āĻ‡āĻ˛āĻŋāĻ¯āĻŧāĻž āĻŦāĻ˛ā§‡āĻ›ā§‡āĻ¨, āĻ†āĻŽāĻŋ PostgreSQL āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

PostgreSQL āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨. PostgreSQL āĻāĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨, āĻ¯āĻž āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡. āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĨ¤ āĻ†āĻŽāĻŋ PostgreSQL āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ, āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻŋāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻž āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻŦāĻž āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸā§‡ āĻ•ā§€ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž? āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡, āĻ†āĻŽāĻŋ āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻžāĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻŦ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖāĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨āĻžāĻ° āĻāĻ‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ—ā§āĻŖāĻ—āĻ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻ—āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ§āĻžāĻ°āĻŖāĻž āĻĒāĻžāĻ¨ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤

āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻŸā§āĻ˛ āĻ°āĻŋāĻ­āĻŋāĻ‰ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¨ā§āĻ¯ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻŦāĻžāĻĻ āĻĻā§‡āĻ‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤ āĻāĻŸāĻž āĻœāĻ°ā§āĻ°āĻŋ. āĻ¨āĻŋāĻ°ā§āĻ­āĻ¯āĻŧā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¤āĻž āĻšāĻ˛ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻāĻŦāĻ‚ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛-āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻœā§āĻžāĻžāĻ¨āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž PostgreSQL āĻĻā§‡āĻ–āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ "āĻŦā§āĻ˛ā§āĻ¯āĻžāĻ• āĻŦāĻ•ā§āĻ¸" āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§‡āĻ–āĻŦ āĻ¯āĻž āĻ•āĻŋāĻ›ā§ āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻŽāĻ°āĻž āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§€ āĻ•āĻ°āĻ›ā§‡, āĻ¤āĻžāĻ°āĻž āĻ•ā§€ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻ†āĻ¸āĻ˛ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ˛ā§‹ āĻŦāĻ•ā§āĻ¸, āĻ†āĻŽāĻ°āĻž āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¤āĻžāĻ•āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž CPU āĻ˛ā§‹āĻĄ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ top, āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž PostgreSQL āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦ āĻ¨āĻžāĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ, āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻžāĻŸāĻ›ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛āĻ•ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸: āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ PostgreSQL āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻ•āĻžāĻœāĨ¤

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŦāĻžāĻŽ āĻ•ā§‹āĻŖā§‡ āĻ¤āĻžāĻ•āĻžāĻ¨ā§‹ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋ, āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŦā§‡āĻĻāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸ā§‡āĻļāĻ¨ āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ˛āĻ• I/O āĻĄā§‡āĻŸāĻž āĻ†āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻĄāĻŋāĻ¸ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ "āĻļā§‡āĻ¯āĻŧāĻžāĻ°āĻĄ āĻŦāĻžāĻĢāĻžāĻ°" āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻāĻ˛āĻžāĻ•āĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛, āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻšāĻ¯āĻŧ, āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ WAL-āĻāĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛āĻ—ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻ— āĻŦāĻž āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻŸāĻžāĻ¸ā§āĻ• āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŋ āĻ†āĻ›ā§‡? āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ†āĻ›ā§‡ āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ•ā§‡ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻŽā§‹āĻĄā§‡ āĻšāĻžāĻ˛ā§ āĻ°āĻžāĻ–ā§‡āĨ¤ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡ āĻ•āĻ­āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡: āĻāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ āĻ…āĻŸā§‹āĻ­ā§āĻ¯āĻžāĻ•ā§āĻ¯āĻŧāĻžāĻŽ, āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°, āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ āĻ˛ā§‡āĻ–āĻ•āĨ¤ āĻ†āĻŽāĻŋ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻŦ.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ•āĻŋ?

  • āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻšā§āĻ°. PostgreSQL 9.4 āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĄā§‡āĻŸāĻž āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ 109 āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¯āĻĻāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛, āĻ¸ā§āĻ•āĻŋāĻŽāĻž, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛, āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻĄā§āĻŦā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ–ā§āĻŦ āĻ¸āĻšāĻœāĨ¤
  • āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻŋ, āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦāĨ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻ¯āĻĻāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§‡āĻŸā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻŸāĻŋ āĻ•ā§‹āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦāĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§āĻ‡ āĻŦāĻ˛ā§‡ āĻ¨āĻžāĨ¤
  • āĻ•ā§‹āĻ¨ āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻĨāĻžāĻ•ā§‡, 15-30 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ†āĻ—ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻĄāĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĻāĻŦāĻ‚ 15-30 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ†āĻ—ā§‡ āĻ•ā§€ āĻ˜āĻŸā§‡āĻ›ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž.
  • PostgreSQL āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ˛ā§‡āĻ° āĻ…āĻ­āĻžāĻŦ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻ•ā§‹āĻ¨ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§‡āĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¤āĻžāĻ°āĻž āĻļā§āĻ§ā§ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻāĻŸāĻŋāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻšāĻžāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤
  • āĻ¯ā§‡āĻšā§‡āĻ¤ā§ PostgreSQL-āĻ āĻ•ā§‹āĻ¨ā§‹ āĻŸā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻšā§āĻ° āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨ā§€ āĻ¯āĻžāĻ° āĻ•āĻŽ-āĻŦā§‡āĻļāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻšāĻžāĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛ā§‡āĻ–āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻ° āĻ•āĻŋāĻ›ā§ āĻŸā§āĻ˛ā§‡ āĻ•āĻŋāĻ›ā§ āĻĢāĻŋāĻšāĻžāĻ° āĻ†āĻ›ā§‡, āĻ…āĻ¨ā§āĻ¯ āĻŸā§āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻĢāĻŋāĻšāĻžāĻ° āĻ¨ā§‡āĻ‡, āĻŦāĻž āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻŋāĻšāĻžāĻ° āĻ†āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻŦāĻž āĻ¤āĻŋāĻ¨ āĻŦāĻž āĻšāĻžāĻ°āĻŸāĻŋ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻāĻ•ā§‡ āĻ…āĻĒāĻ°āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻž āĻ–ā§āĻŦāĻ‡ āĻ…āĻĒā§āĻ°ā§€āĻ¤āĻŋāĻ•āĻ°āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻāĻ‡ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻŋ? āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻŦāĻž āĻ•ā§‹āĻ¨āĻ“āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§āĻ¨: āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĒā§‡āĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° SQL āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻœā§āĻžāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻĄā§‡āĻŸāĻž āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‹āĻ—āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻŦāĻ˛ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ—āĻ°āĻŋāĻ¤ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

  • āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ‚āĻ˜āĻŸāĻŋāĻ¤ āĻ˜āĻŸāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡: āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€, āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸, āĻ…āĻŸā§‹āĻ­ā§āĻ¯āĻžāĻ•ā§āĻ¯āĻŧāĻžāĻŽ, āĻ•āĻŽāĻŋāĻŸ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ‡ āĻ¸āĻŦ āĻ˜āĻŸāĻ¨āĻžāĨ¤ āĻāĻ‡ āĻ˜āĻŸāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ˜āĻŸāĻ¨āĻž āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.
  • āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻšāĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ†āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ°āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ, āĻ¸ā§‚āĻšāĻ•ā§‡āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ—āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤
  • āĻ†āĻ° āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ—āĻ°āĻŋ āĻšāĻ˛ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻžāĻŸāĻžāĻ¨ā§‹ āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻāĻ•āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž. āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻļā§āĻ°ā§, āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻļā§‡āĻˇāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻž āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻšāĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ• āĻŦāĻž āĻ˛ā§‡āĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ• āĻĒāĻĄāĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ“ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ (āĻļā§‡āĻ¯āĻŧāĻžāĻ°āĻĄ āĻŦāĻžāĻĢāĻžāĻ°) āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŽāĻ¨ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡, āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒā§‡ āĻ•āĻŋāĻ›ā§ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤
  • āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•ā§‡āĻ° āĻ•āĻžāĻ›ā§‡āĻ“ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋāĻŽā§āĻ¨āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻœāĻŋāĻ¨āĻŋāĻ¸āĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, PostgreSQL SQL āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ•āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻŖā§‡āĻ° āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ• (āĻŦāĻž āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ā§‡āĻ° āĻ¸ā§‡āĻŸ) āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤
  • āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ­āĻŋāĻ‰āĻ—ā§āĻ˛āĻŋāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ (VIEWs)āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸ā§‡āĻŸā§‡āĨ¤
  • āĻāĻ‡ āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻ­āĻŋāĻ‰ (VIEWs) āĻšāĻ˛ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻĻā§‡āĻ–āĻ¤ā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ āĻāĻŦāĻ‚ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ†āĻ›ā§‡. āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ¸āĻ°āĻ•āĻžāĻ°ā§€. āĻ†āĻĒāĻ¨āĻŋ postgresql-contrib āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, postgresql94-contrib), āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, PostgreSQL āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ (āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ. āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ…āĻŦāĻĻāĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻ…āĻ‚āĻļ).
  • āĻāĻŦāĻ‚ āĻ…āĻ¨āĻžāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ• āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ†āĻ›ā§‡. āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ PostgreSQL āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻŦāĻž āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻ…āĻ¨āĻžāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ• āĻ…āĻŦāĻĻāĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻ•ā§€ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻŦ āĻ†āĻ˛āĻžāĻĻāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻāĻ‡ āĻ¸ā§āĻ˛āĻžāĻ‡āĻĄāĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ­āĻŋāĻ‰ (VIEWs) āĻāĻŦāĻ‚ PostgreSQL 9.4-āĻ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻŋāĻ›ā§ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ†āĻ›ā§‡. āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ†āĻ—ā§‡āĻ° āĻ›āĻŦāĻŋāĻŸāĻž āĻ¤ā§āĻ˛āĻŋ КаĐē Ņ‚Ņ€Đ°Ņ‚иŅ‚ŅŅ вŅ€ĐĩĐŧŅ ĐŊĐ° PostgreSQL āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĒāĻžāĻ‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĻā§ƒāĻļā§āĻ¯ (VIEWs), āĻ…āĻĨāĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ†āĻŽāĻ°āĻž PostgreSQL āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻāĻ• āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻ•āĻžāĻ¨ āĻšāĻŦā§‡ pg_stat_database. āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ. āĻāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ°āĻŽāĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯. āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§€ āĻšāĻ˛āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ–ā§āĻŦ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻœā§āĻžāĻžāĻ¨ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ? āĻ¸āĻšāĻœ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

select
sum(blks_hit)*100/sum(blks_hit+blks_read) as hit_ratio
from pg_stat_database;

āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻŋāĻŸ āĻļāĻ¤āĻžāĻ‚āĻļāĨ¤ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻŋāĻŸ āĻļāĻ¤āĻžāĻ‚āĻļ āĻāĻ•āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•. āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¤āĻŸāĻž āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻāĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ¤ āĻŦā§‡āĻļāĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻŋāĻŸ āĻ•āĻ°āĻŦ, āĻ¤āĻ¤ āĻ­āĻžāĻ˛ā§‹. āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•āĻŸāĻŋāĻ•ā§‡ āĻļāĻ¤āĻžāĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻāĻŦāĻ‚, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻŋāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻļāĻ¤āĻžāĻ‚āĻļ 90% āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ­āĻžāĻ˛āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ 90% āĻāĻ° āĻ¨āĻŋāĻšā§‡ āĻ¨ā§‡āĻŽā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¨ā§‡āĻ‡ āĻ¯āĻžāĻ¤ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ—āĻ°āĻŽ āĻŽāĻžāĻĨāĻž āĻ°āĻžāĻ–āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, PostgreSQL āĻĄāĻŋāĻ¸ā§āĻ• āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ§ā§€āĻ° āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡: āĻšāĻ¯āĻŧ āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¨, āĻ…āĻĨāĻŦāĻž āĻ†āĻ¯āĻŧāĻ°āĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ (RAM) āĻŦāĻžāĻĄāĻŧāĻžāĻ¨āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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 āĻŦā§‡āĻļ āĻ¸āĻšāĻœ. āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻŽāĻžāĻ¨ āĻ†āĻ›ā§‡. āĻ†āĻŽāĻ°āĻž āĻ•āĻŽāĻŋāĻŸ āĻāĻŦāĻ‚ āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻžāĻ¤ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻ•āĻŽāĻŋāĻŸ āĻšāĻ˛ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ¸āĻĢāĻ˛ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤āĻ•āĻ°āĻŖāĨ¤ āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ•, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ•ā§‡ āĻšāĻžāĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ˜āĻŸā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ–āĻžāĻ°āĻžāĻĒ. āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ¨āĻž āĻ˜āĻŸā§‡āĨ¤

āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤āĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ°āĻ“ āĻāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§€ āĻ˜āĻŸāĻŦā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ˛āĻ— āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡. āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻ¨ā§āĻĻā§āĻŦāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻšāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻžāĻ“ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ°āĻžāĻĒ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¯āĻ–āĻ¨ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻ•āĻŸāĻŋ āĻ¨ā§‡āĻ¯āĻŧ, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸāĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻ•āĻŸāĻŋāĻ“ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ‰āĻ­āĻ¯āĻŧ āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¸ā§āĻŸ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€āĻ° āĻ˛āĻ•āĻŸāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ•āĻ°āĻžāĻ° āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋāĻ“ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻ–āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ•ā§‡ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻšāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦāĻžāĻĄāĻŧāĻ›ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ˛āĻ—āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻļāĻĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ‰āĻĻā§āĻ­ā§‚āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ•ā§€ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĢāĻžāĻ‡āĻ˛ (temp_files)āĻ“ āĻ–āĻžāĻ°āĻžāĻĒāĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛, āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄā§‡āĻŸāĻž āĻŽāĻŋāĻŸāĻŽāĻžāĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻž, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻž āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ°. āĻāĻŸāĻŋ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ PostgreSQL āĻ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¸ā§‡ āĻāĻ•āĻŸā§ āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ˛ā§‡, Postgres āĻ…āĻ¨ā§‡āĻ• āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻœāĻžāĻ¨āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•āĻŽ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

pg_stat_bgwriter - āĻāĻ‡ āĻ­āĻŋāĻ‰ āĻĻā§āĻŸāĻŋ PostgreSQL āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡: checkpointer и background writer.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻŋ, āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤āĨ¤ 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.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻ˛ āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ āĻ˛ā§‡āĻ–āĻ• − background writer. āĻ¸ā§‡ āĻ•āĻŋ āĻ•āĻ°āĻ›ā§‡? āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻŋāĻ°āĻžāĻŽ āĻ˛ā§āĻĒā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĢā§āĻ˛āĻžāĻļ āĻ•āĻ°ā§‡ā§ˇ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻ•ā§‡ āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡āĨ¤

āĻ¤āĻžāĻ° āĻ†āĻ° āĻ•āĻŋ āĻĻāĻ°āĻ•āĻžāĻ°? āĻāĻŸāĻŋ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ (āĻŦāĻĄāĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻāĻŦāĻ‚ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡) āĻĄā§‡āĻŸāĻž āĻŽāĻŋāĻŸāĻŽāĻžāĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻ§āĻ°ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ‰āĻĻā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻ–āĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ backend āĻ¸ā§‡ āĻļā§āĻ§ā§ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĢā§āĻ˛āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ - āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•ā§‡ āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ†āĻ›ā§‡ maxwritten_clean āĻŦāĻĄāĻŧ, āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻŦā§āĻ¯āĻžāĻ•āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻ˛ā§‡āĻ–āĻ• āĻ¤āĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻŦā§‡ bgwriter_lru_maxpagesāĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻ• āĻšāĻ•ā§āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ†āĻ°āĻ“ āĻĒā§ƒāĻˇā§āĻ āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¸ā§‚āĻšāĻ• buffers_backend_fsync. āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ fsync āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ§ā§€āĻ°āĨ¤ āĻ¤āĻžāĻ°āĻž IO āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ fsync āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡āĨ¤ āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻžāĻ°āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ fsync āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°ā§‡āĨ¤ āĻšā§‡āĻ•āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻžāĻ°āĻŋ āĻŦāĻĄāĻŧ āĻāĻŦāĻ‚ āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ˛ā§‡, āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡ fsync āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄāĻ•ā§‡ āĻ§ā§€āĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ‡ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: _āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ­āĻ™ā§āĻ—āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ 10-āĻ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ­āĻŋāĻ‰ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻ›āĻŋāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĨ¤ xlog āĻ‰āĻĒāĻ° wal и location āĻ‰āĻĒāĻ° lsn āĻĢāĻžāĻ‚āĻļāĻ¨/āĻ­āĻŋāĻ‰ āĻ¨āĻžāĻŽ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻĢāĻžāĻ‚āĻļāĻ¨ pg_xlog_location_diff() āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ pg_wal_lsn_diff()._

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ–āĻžāĻ¨ā§‡āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻ†āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻŋ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ¨, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ†āĻĻāĻ°ā§āĻļ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒāĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒāĻŋāĻ›āĻŋāĻ¯āĻŧā§‡ āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻ‡ āĻšā§‡āĻ•ā§āĻ¸āĻžāĻĄā§‡āĻ¸āĻŋāĻŽā§‡āĻ˛ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛āĻ—ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ: āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻž, āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

ŅĐēĐžĐģŅŒĐēĐž СаĐŋиŅĐ°ĐŊĐž 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 āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦāĨ¤ āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻŽāĻ¤ā§‹āĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻĻā§‡āĻ–ā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¤āĻŽā§āĻ­āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

pg_stat_all_tables āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ­āĻŋāĻ‰āĨ¤ āĻāĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĨāĻžāĻ•ā§‡, āĻ•āĻŋāĻ›ā§ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻĨāĻžāĻ•ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ­āĻŋāĻ‰ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻžāĻ°āĻŋ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻ—ā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻžāĻ“ āĻāĻ•āĻŸāĻž āĻ–āĻžāĻ°āĻžāĻĒ āĻ•ā§‡āĻ¸āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨. āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¨āĻŽā§āĻŦāĻ°āĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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 āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ¸ā§‚āĻšāĻ•ā§‡āĻ° āĻ†āĻ•āĻžāĻ°āĻ“ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡, āĻŦāĻž āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡, āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ•āĻŋ āĻ¤ā§€āĻŦā§āĻ°āĻ¤āĻž, āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻžāĻ‡āĻœāĻŋāĻ‚ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻ†āĻāĻ•āĻž.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻŋ? āĻšāĻ˛ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻĻā§‡āĻ–āĻŋ UPDATE - āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¸āĻžāĻ°āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĨ¤ āĻ†āĻ¸āĻ˛ā§‡, āĻ†āĻĒāĻĄā§‡āĻŸ āĻšāĻ˛ āĻĻā§āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ (āĻŦāĻž āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ)āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋāĻ•ā§‡ āĻ…āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻ›ā§‡ā§ˇ āĻĒāĻ°ā§‡, āĻ…āĻŸā§‹āĻ­ā§āĻ¯āĻžāĻ•ā§āĻ¯āĻŧāĻžāĻŽ āĻ†āĻ¸āĻŦā§‡ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻāĻ‡ āĻ…āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻŦā§‡, āĻāĻ‡ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ†āĻĒāĻĄā§‡āĻŸ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻšāĻ• āĻ†āĻĒāĻĄā§‡āĻŸ. āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‚āĻšā§€ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻ¤ā§‡ āĻ…āĻ‚āĻļ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‚āĻšāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡āĻ“ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ā§ˇ āĻāĻ‡ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ“ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¯āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§ˇ

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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 āĻŦāĻĄāĻŧ, āĻāĻŸāĻž āĻ–ā§āĻŦ āĻ­āĻžāĻ˛ā§‹āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻšāĻžāĻ˛ā§āĻ•āĻž āĻ†āĻĒāĻĄā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ§āĻžāĻ¨ā§āĻ¯ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¸ā§āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

ALTER TABLE table_name SET (fillfactor = 70);

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ hot updateov? āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ fillfactor. INSERTs āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ–āĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļāĻ—ā§āĻ˛āĻŋ āĻ¯āĻ–āĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°ā§‡, āĻāĻ¤ā§‡ āĻ–āĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻž āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĄā§‡āĻŸāĻž āĻ†āĻŦāĻžāĻ° āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ†āĻšāĻ°āĻŖ, āĻĢāĻŋāĻ˛āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° = 100%āĨ¤

āĻ†āĻŽāĻ°āĻž āĻĢāĻŋāĻ˛āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° 70% āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ¸āĻš, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻŦā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻŽāĻžāĻ¤ā§āĻ° 70% āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž 30% āĻ°āĻŋāĻœāĻžāĻ°ā§āĻ­ āĻŦāĻžāĻ•āĻŋ āĻ†āĻ›ā§‡. āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ˜āĻŸāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻ•āĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĢāĻŋāĻŸ āĻšāĻŦā§‡ā§ˇ āĻāĻŦāĻ‚ hot_update āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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" āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻŽā§ƒāĻ¤ āĻ¸āĻžāĻ°āĻŋ āĻĨāĻžāĻ•ā§‡, āĻ†āĻŽāĻ°āĻž āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ…āĻŸā§‹āĻ­ā§āĻ¯āĻžāĻ•ā§āĻ¯āĻŧāĻžāĻŽā§‡ āĻ°āĻžāĻ–āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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 āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ†āĻŦāĻŋāĻ°ā§āĻ­āĻžāĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ•āĻŽ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

pg_stat_all_indexes āĻšāĻ˛ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĨ¤ āĻ¸ā§‡ āĻŦāĻĄāĻŧ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§‚āĻšā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•ā§‹āĻ¨ āĻ¸ā§‚āĻšāĻ•āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ›ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻ—ā§‡āĻ‡ āĻŦāĻ˛ā§‡āĻ›āĻŋ, āĻ†āĻĒāĻĄā§‡āĻŸ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻž, āĻāĻŸāĻŋ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ“ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‚āĻšā§€ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸ā§‚āĻšā§€āĻ¯ā§āĻ•ā§āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ“ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§‚āĻšā§€ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ¸ā§‚āĻšāĻ• āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ¨ā§‡āĻ‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻžāĻ˛āĻžāĻ¸ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻā§āĻ˛ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡. āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻĻāĻ°āĻ•āĻžāĻ° idx_scan. āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ¸ā§‚āĻšāĻ• āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¤āĻžāĻ•āĻžāĻ¨. āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° (āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ 2-3 āĻ¸āĻĒā§āĻ¤āĻžāĻš) āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻļā§‚āĻ¨ā§āĻ¯ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻ–āĻžāĻ°āĻžāĻĒ āĻ¸ā§‚āĻšāĻ•, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻŋāĻ‚ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ¸ā§‚āĻšāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‹āĻĄ āĻĨāĻžāĻ•ā§‡)āĨ¤

āĻĻā§āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•:

https://github.com/dataegret/pg-utils/blob/master/sql/low_used_indexes.sql

http://www.databasesoup.com/2014/05/new-finding-unused-indexes-query.html

āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻ°āĻ‚ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻļā§āĻ¨āĨ¤ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¤ā§āĻšā§āĻ› āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻ° āĻ•āĻŋ āĻ¸ā§‚āĻšā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?

  • āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§‚āĻšāĻ• āĻ–āĻžāĻ°āĻžāĻĒ.

  • āĻ¤āĻžāĻ°āĻž āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ¨ā§‡āĻ¯āĻŧāĨ¤

  • āĻ†āĻĒāĻĄā§‡āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ§ā§€āĻ°.

  • āĻ­ā§āĻ¯āĻžāĻ•ā§āĻ¯āĻŧāĻžāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻžāĻœāĨ¤

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§‚āĻšā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŋ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻŸāĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻ•āĻ°āĻŦāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°ā§‡āĻ° āĻĻā§ƒāĻļā§āĻ¯ āĻšāĻ˛ pg_stat_activity. āĻāĻŸāĻŋ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ— ps, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° PostgreSQL āĻāĨ¤ āĻ¯āĻĻāĻŋ ps'āĻ“āĻšāĻŽ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ pg_stat_activity āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ PostgreSQL āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĻā§‡āĻ–āĻžāĻŦā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ?

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

select
count(*)*100/(select current_setting('max_connections')::int)
from pg_stat_activity;

āĻ†āĻŽāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ˜āĻŸāĻ›ā§‡ āĻ¯ā§‡ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻ¸ā§āĻĢā§‹āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻž, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĸā§‡āĻ˛ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

select
client_addr, usename, datname, count(*)
from pg_stat_activity group by 1,2,3 order by 4 desc;

āĻ†āĻŽāĻ°āĻž āĻāĻ‡āĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸ā§€āĻŽāĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŽā§‹āĻŸ āĻļāĻ¤āĻžāĻ‚āĻļ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§‡āĻ–āĻ¤ā§‡ cron_role 508āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸā§‡āĻ›ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨. āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻāĻ•āĻ°āĻ•āĻŽ āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ OLTP āĻ˛ā§‹āĻĄ āĻĨāĻžāĻ•ā§‡, āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤, āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĻā§€āĻ°ā§āĻ˜ āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧā§ˇ āĻ¤āĻŦā§‡, āĻ¯āĻĻāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻ¸ā§āĻŦāĻ˛ā§āĻĒāĻŽā§‡āĻ¯āĻŧāĻžāĻĻā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§€āĻ°ā§āĻ˜āĻŽā§‡āĻ¯āĻŧāĻžāĻĻā§‡, āĻĻā§€āĻ°ā§āĻ˜ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•ā§āĻˇāĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻž āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŦā§āĻ˛ā§‹āĻŸ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ˜āĻŸā§‡āĨ¤ āĻĢā§‹āĻ˛āĻž āĻāĻŦāĻ‚ āĻĻā§€āĻ°ā§āĻ˜ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ¨āĻŋāĻˇā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

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, āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻĻā§‡āĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻ°āĻ•āĻŽ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĻā§€āĻ°ā§āĻ˜ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻļā§āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';

āĻ–āĻžāĻ°āĻžāĻĒ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ (āĻ…āĻŦāĻ¸ā§ƒāĻ¤) āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĨ¤

āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ•ā§€? āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ°āĻžāĻœā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ°āĻžāĻœā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡. āĻ°āĻžāĻˇā§āĻŸā§āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ†āĻ›ā§‡ state āĻāĻ‡ āĻĻā§ƒāĻļā§āĻ¯ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ°āĻžāĻˇā§āĻŸā§āĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

select * from pg_stat_activity where state in
('idle in transaction', 'idle in transaction (aborted)';

āĻāĻŦāĻ‚, āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ˛ā§‡āĻ›āĻŋ, āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ°āĻžāĻˇā§āĻŸā§āĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ (āĻ…āĻŦāĻ¸ā§ƒāĻ¤) āĻ–āĻžāĻ°āĻžāĻĒāĨ¤ āĻāĻŸāĻž āĻ•āĻŋ? āĻāĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ–ā§‹āĻ˛ā§‡, āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ–ā§‹āĻ˛āĻž āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻā§āĻ˛ā§‡ āĻĨāĻžāĻ•ā§‡, āĻāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ˜āĻŸā§‡ āĻ¨āĻž, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¨ā§‡āĻ¯āĻŧ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ˛āĻ• āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻĢā§‹āĻ˛āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ, āĻĒā§‹āĻ¸ā§āĻŸāĻ°āĻœā§‡āĻ¸ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡āĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻ—ā§āĻ˛āĻŋāĻ“ āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ•āĻžāĻ°āĻŖ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ•āĻžāĻ°āĻ•āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ 5-10-20 āĻŸāĻŋāĻ° āĻŦā§‡āĻļāĻŋ āĻ†āĻ›ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ—āĻŖāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ clock_timestamp(). āĻ†āĻŽāĻ°āĻž āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ…āĻ™ā§āĻ•ā§āĻ°, āĻ†āĻŽāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ˛ā§‡āĻ›āĻŋ, āĻ˛āĻ• āĻšāĻ˛ āĻ¯āĻ–āĻ¨ āĻĻā§āĻ‡ āĻŦāĻž āĻ¤āĻ¤ā§‹āĻ§āĻŋāĻ• āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻāĻ• āĻŦāĻž āĻāĻ•āĻĻāĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ waiting āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻŽāĻžāĻ¨ āĻ¸āĻš true āĻŦāĻž false.

āĻ¸āĻ¤ā§āĻ¯ - āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡, āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡, āĻ¤āĻ–āĻ¨ āĻ¯ā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¸ā§‡āĻ“ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻŦāĻ¸ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: _ Postgres 9.6 āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§, āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° waiting āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻĻā§āĻŸāĻŋ āĻ¤āĻĨā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ wait_event_type и wait_event._

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡? āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ¤ā§āĻ¯ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ…āĻ™ā§āĻ•ā§āĻ°. āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ˛āĻŋāĻ–āĻŋ āĻ¯āĻž āĻ•ā§‹āĻ¨āĻ­āĻžāĻŦā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻ¨āĻž āĻšāĻ¯āĻŧā§ˇ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ¨āĻž āĻ˜āĻŸā§‡āĨ¤

āĻāĻŦāĻ‚ āĻšāĻ°āĻŽ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ• āĻ˜āĻŸāĻ¨āĻž āĻ¨āĻ¯āĻŧ āĻ…āĻšāĻ˛āĻžāĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ˜āĻŸāĻ¨āĻžāĨ¤ āĻĻā§āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻĻā§āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻŦāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡āĨ¤ PostgreSQL āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§ƒāĻ¤ āĻļā§‡āĻˇ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ…āĻ¤āĻāĻŦ, PostgreSQL āĻšāĻ°āĻŽ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻ¯āĻŧāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/c4_06_show_locked_queries.sql

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/show_locked_queries_95.sql

https://github.com/lesovsky/uber-scripts/blob/master/postgresql/sql/show_locked_queries_96.sql

http://big-elephants.com/2013-09/exploring-query-locks-in-postgres/

āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧā§ˇ āĻ†āĻŽāĻ°āĻž āĻ­āĻŋāĻ‰ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ pg_locks, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­āĻžāĻ°ā§€ āĻ˛āĻ• āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĒāĻžāĻ ā§āĻ¯āĨ¤ āĻāĻŸāĻž āĻŦā§‡āĻļ āĻ˛āĻŽā§āĻŦāĻž.

āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋ āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĨ¤ āĻāĻŸāĻž āĻĒāĻĄāĻŧāĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€, āĻāĻŸāĻž āĻ–ā§āĻŦ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ.

āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ? āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĻā§‡āĻ–āĻ¤ā§‡. āĻ¸āĻ™ā§āĻ—ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ ALTER TABLE āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻŸāĻŋ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ†āĻĒāĻĄā§‡āĻŸ āĻšāĻ¯āĻŧ. āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻļā§‡āĻˇ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•ā§‡ āĻ•āĻžāĻ•ā§‡ āĻ¤āĻžāĻ˛āĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ•ā§‡ āĻ•āĻžāĻ•ā§‡ āĻ§āĻ°ā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻ˛ pg_stat_statements. āĻ†āĻŽāĻŋ āĻ¯ā§‡āĻŽāĻ¨ āĻŦāĻ˛ā§‡āĻ›āĻŋ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻāĻ° āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, PostgreSQL āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš), āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ­āĻŋāĻ‰ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

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;

āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ? āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋ, āĻ†āĻŽāĻ°āĻž āĻ—āĻĄāĻŧ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻĄāĻŧāĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻ¸āĻžāĻĄāĻŧāĻž āĻĻāĻŋāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°āĨ¤

āĻ†āĻŽāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻž āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡ āĻŦāĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻ‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

https://github.com/dataegret/pg-utils/blob/master/sql/global_reports/query_stat_total.sql

āĻ†āĻŽāĻ°āĻž pg_stat_statements āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĻāĻŋāĻ¨ā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻž āĻœāĻŽāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻĒāĻ°ā§‡āĻ° āĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ†āĻ›ā§‡. āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻ•āĻ°āĻ›āĻŋ? āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋāĨ¤

āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ? āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻŽā§‹āĻŸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻšāĻŋāĻ¤ā§āĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ CPU āĻāĻŦāĻ‚ I/O āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻ—ā§āĻ˛āĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡. āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻļā§€āĻ°ā§āĻˇ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§€ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ–āĻžāĻŦāĻžāĻ° āĻĒāĻžāĻšā§āĻ›āĻŋā§ˇ

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§āĻĻāĻžāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ•āĻŋ āĻ†āĻ›ā§‡? āĻāĻ–āĻ¨āĻ“ āĻ•āĻŋāĻ›ā§ āĻœāĻŽāĻž āĻ†āĻ›ā§‡ āĻ¯āĻž āĻ†āĻŽāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŋāĻ¨āĻŋ, āĻ•āĻžāĻ°āĻŖ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§€āĻŽāĻŋāĻ¤āĨ¤

āĻ†āĻ›ā§‡ pgstattuple āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ bloat āĻŸā§‡āĻŦāĻŋāĻ˛, āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤. āĻŸā§‡āĻŦāĻŋāĻ˛ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤āĻ•āĻ°āĻŖāĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦāĻĄāĻŧ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨ pgstattuple āĻāĻ•āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻ°ā§‹ āĻŸā§‡āĻŦāĻŋāĻ˛, āĻāĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡.

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻšāĻ˛ pg_buffercache. āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ: āĻ•āĻ¤āĻŸāĻž āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧāĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŦāĻžāĻĢāĻžāĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§ˇ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§€ āĻ˜āĻŸāĻ›ā§‡ āĻ¤āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻ˛ pgfincore. āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ mincore(), āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ†āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻŦāĻžāĻĢāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻ•āĻ¤āĻŸāĻž āĻĻāĻ–āĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ˛ā§‹āĻĄ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻ˛ pg_stat_kcache. āĻāĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ getrusage(). āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡, āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ• I/O-āĻ¤ā§‡ āĻ•āĻ¤āĻŸāĻž āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§‡āĻ–ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻ¤āĻ°ā§āĻŖ (āĻ–ā§‡-āĻ–ā§‡) āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ PostgreSQL 9.4 āĻāĻŦāĻ‚ pg_stat_statements, āĻ¯āĻž āĻ†āĻŽāĻŋ āĻ†āĻ—ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

  • āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

  • āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻšāĻœ, āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ SQLāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻāĻŸāĻŋ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨, āĻāĻŸāĻŋ āĻĻā§‡āĻ–ā§‡āĻ›ā§‡āĻ¨āĨ¤

  • āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ¯āĻžāĻ¨ - āĻĻā§‡āĻ–ā§āĻ¨, āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻ†āĻāĻ•ā§āĻ¨, āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤

  • āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž. āĻĒā§āĻ°āĻšā§āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§, āĻĒā§āĻ°āĻšā§āĻ° āĻĄā§‡āĻŸāĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ¸āĻ˛āĻŸāĻŋāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ­āĻžāĻ˛ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ā§ˇ

PostgreSQL āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ā§‡ āĻ—āĻ­ā§€āĻ°āĻ­āĻžāĻŦā§‡ āĻĄā§āĻŦ āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋ āĻ˛ā§‡āĻ¸āĻ­āĻ¸ā§āĻ•āĻŋ

āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸

āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻŦā§ˆāĻ§ āĻ˛āĻŋāĻ™ā§āĻ•, āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡ āĻ›āĻŋāĻ˛.

āĻ˛ā§‡āĻ–āĻ• āĻ†āĻ°ā§‹ āĻ˛āĻŋāĻ–ā§āĻ¨
https://dataegret.com/news-blog (āĻ‡āĻžā§āĻœāĻŋ.)

āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•
https://www.postgresql.org/docs/current/monitoring-stats.html

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨
https://www.postgresql.org/docs/current/functions-admin.html

āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ…āĻŦāĻĻāĻžāĻ¨
https://www.postgresql.org/docs/current/pgstatstatements.html
https://www.postgresql.org/docs/current/pgstattuple.html
https://www.postgresql.org/docs/current/pgbuffercache.html
https://github.com/klando/pgfincore
https://github.com/dalibo/pg_stat_kcache

āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
https://github.com/dataegret/pg-utils

āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨