āĻĻā§āĻĸāĻŧ
āĻāĻ¸āĻ˛ā§, āĻāĻāĻā§āĻ˛āĻŋ pg_stat_activity āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŽā§ āĻĨāĻžāĻāĻž āĻ¤āĻĨā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° RAM-āĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻļā§āĻˇ āĻ¸āĻā§āĻāĻŋāĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĨ¤
- queryid āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ - pg_stat_statements āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻĨā§āĻā§ āĻāĻāĻ queryid (āĻĒā§āĻ°āĻŋ-āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨)āĨ¤
- top_level_query āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ - āĻ¯ā§ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĨā§āĻā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻžāĻ° āĻĒāĻžāĻ ā§āĻ¯ (pl/pgsql āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§)
pg_active_session_history āĻĢāĻŋāĻ˛ā§āĻĄā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻāĻž:
āĻāĻ˛āĻžāĻŽ | āĻāĻžāĻāĻĒ ------------------+------------ ash_time | āĻ¤āĻžāĻ°āĻŋāĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻā§āĻāĻ˛ āĻ¸āĻš āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ | oid dataname | āĻā§āĻā§āĻ¸āĻ āĻĒāĻŋāĻĄ | āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž useysid | oid usename | āĻā§āĻā§āĻ¸āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨_āĻ¨āĻžāĻŽ | āĻā§āĻā§āĻ¸āĻ client_addr | āĻā§āĻā§āĻ¸āĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ_āĻšā§āĻ¸ā§āĻāĻ¨āĻžāĻŽ | āĻā§āĻā§āĻ¸āĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ_āĻĒā§āĻ°ā§āĻ | integer backend_start | āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻā§āĻāĻ˛ āĻ¸āĻš āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ xact_start | āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ āĻ¸āĻš āĻāĻžāĻāĻŽ āĻā§āĻ¨ query_start | āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ āĻ¸āĻš āĻāĻžāĻāĻŽ āĻā§āĻ¨ state_change | āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻā§āĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ āĻ āĻĒā§āĻā§āĻˇāĻž_āĻāĻā§āĻ¨ā§āĻ_āĻāĻžāĻāĻĒ | āĻĒāĻžāĻ ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž_āĻāĻā§āĻ¨ā§āĻ | āĻĒāĻžāĻ ā§āĻ¯ āĻ āĻŦāĻ¸ā§āĻĨāĻž | āĻā§āĻā§āĻ¸āĻ backend_xid | xid backend_xmin | xid top_level_query | āĻĒāĻžāĻ ā§āĻ¯ āĻĒā§āĻ°āĻļā§āĻ¨ | āĻā§āĻā§āĻ¸āĻ queryid | bigint backend_type | āĻĒāĻžāĻ ā§āĻ¯
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ¨āĻ āĻā§āĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¨ā§āĻ. āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§ āĻ¨āĻŋāĻā§āĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ "devel" āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ PATH āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§ pg_config āĻāĻ° āĻĒāĻžāĻĨ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻ°āĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻŋ:
cd pgsentinel/src
āĻāĻ°āĻž
āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
postgres.conf āĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = āĻ¸āĻŦ# āĻ¸ā§āĻŽā§āĻ¤āĻŋāĻ¤ā§ āĻ°āĻžāĻāĻž āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž
pgsentinel_ash.max_entries = 10000
PostgreSQL āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ pgsentinel āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨;
āĻāĻŽā§ āĻĨāĻžāĻāĻž āĻ¤āĻĨā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯ā§āĻŽāĻ¨:
- āĻ¸ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻžāĻ° āĻāĻĒāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°ā§āĻāĻŋāĻ˛?
- āĻā§āĻ¨ āĻ¸ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŋāĻ˛?
- āĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻŋāĻ˛?
āĻāĻĒāĻ¨āĻŋ, āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻŽāĻžāĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻ°āĻšā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻšāĻžāĻāĻ˛āĻžāĻāĻ āĻāĻ°ā§ āĻāĻžāĻ°ā§āĻā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĻāĻžāĻŦā§ āĻĻā§āĻāĻ¤ā§ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¸āĻā§āĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§, PASH-āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ° (āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 0.4.0 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§) pg_active_session_history āĻāĻŋāĻāĻāĻŋāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĨā§āĻā§ āĻĒā§āĻ°ā§ āĻāĻŽāĻž āĻāĻ¤āĻŋāĻšāĻžāĻ¸ āĻ˛ā§āĻĄ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋ 15 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻā§āĻ°āĻžāĻĢ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻĄā§āĻāĻž āĻĒāĻĄāĻŧāĻ¤ā§ āĻĨāĻžāĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com