Check replication lag

Replication state and byte lag per replica

psql -U postgres -c "SELECT client_addr, state, sent_lsn, replay_lsn, (sent_lsn - replay_lsn) AS lag_bytes FROM pg_stat_replication;"

tool
postgres29 commands
tags
postgresmonitoring

More postgres commands

  • psql -U postgres -d mydb -c "SELECT pid, relation::regclass, mode, granted, left(query,60) FROM pg_locks l JOIN pg_stat_activity a USING(pid) WHERE relation IS NOT NULL ORDER BY granted;"

    Active locks with blocking/blocked status and query

  • SELECT pid, now()-query_start AS dur, state, query FROM pg_stat_activity WHERE state='active' AND now()-query_start > interval '5 min' ORDER BY dur DESC;

    List active queries running over 5 minutes, longest first

  • SELECT pg_terminate_backend(<pid>); -- graceful first: SELECT pg_cancel_backend(<pid>);

    Force-kill a backend by pid; note: try pg_cancel_backend first to cancel the query only

  • SELECT query, calls, total_exec_time, mean_exec_time, rows FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 20;

    pg_stat_statements: rank queries by cumulative execution time

  • EXPLAIN (ANALYZE, BUFFERS, VERBOSE) SELECT ... ; -- shared hit/read shows cache vs disk I/O

    Run query and show real timings plus buffer hits/reads to spot disk I/O

all 29 postgres commands