Skip to content
pg_activity is a top like application for PostgreSQL server activity monitoring.
Branch: master
Clone or download
Latest commit b654edc Mar 4, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Options order Mar 3, 2019
pgactivity Update copyright date Mar 3, 2019
LICENSE.txt Update copyright date Mar 3, 2019 bug fix #9 : use default system user like psql + other fixes Apr 10, 2013
pg_activity Options order Mar 3, 2019 Bump version to 1.5.0 Mar 3, 2019

Latest PyPI version


Command line tool for PostgreSQL server activity monitoring.


  • python2.6
  • psycopg22.2.1
  • psutil0.5.1

Installation from sources: setuptools0.6.14


sudo python install

Installation with man page

sudo python install --with-man


pg_activity works localy or remotely. In local execution context, to obtain sufficient rights to display system informations, the system user running pg_activity must be the same user running postgresql server (postgres by default), or have more rights like root. Otherwise, pg_activity can fallback to a degraded mode without displaying system informations. On the same way, PostgreSQL user used to connect to the database must be super-user. ex:

sudo -u postgres pg_activity -U postgres


pg_activity [options]

    --version             Show program's version number and exit
    -U USERNAME, --username=USERNAME
                          Database user name (default: "postgres").
    -p PORT, --port=PORT  Database server port (default: "5432").
    -h HOSTNAME, --host=HOSTNAME
                          Database server host or socket directory (default:
    -d DBNAME, --dbname=DBNAME
                          Database name to connect to (default: "postgres").
    -C, --no-color        Disable color usage.
    --blocksize=BLOCKSIZE Filesystem blocksize (default: 4096).
    --rds                 Enable support for AWS RDS.
    --output=FILEPATH     Store running queries as CSV.
    --help                Show this help message and exit.
    --debug               Enable debug mode for traceback tracking.
    --no-db-size          Skip total size of DB.
                          Queries display mode. Values: 1-TRUNCATED,
                          2-FULL(default), 3-INDENTED

Display options, you can exclude some columns by using them :
    --no-database         Disable DATABASE.
    --no-user             Disable USER.
    --no-client           Disable CLIENT.
    --no-cpu              Disable CPU%.
    --no-mem              Disable MEM%.
    --no-read             Disable READ/s.
    --no-write            Disable WRITE/s.
    --no-time             Disable TIME+.
    --no-wait             Disable W.
    --no-app-name         Disable App.


Length of SQL query text that pg_activity reports relies on PostgreSQL parameter track_activity_query_size. Default value is 1024 (expressed in bytes). If your SQL query text look truncated, you should increase track_activity_query_size.

Interactives commands

Key Action
C Activate/deactivate colors
r Sort by READ/s, descending
w Sort by WRITE/s, descending
c Sort by CPU%, descending
m Sort by MEM%, descending
t Sort by TIME+, descending
Space Pause on/off
v Change queries display mode: full, truncated, indented
UP/DOWN Scroll processes list
q Quit
+ Increase refresh time. Maximum value : 3s
- Decrease refresh time. Minimum Value : 1s
F1/1 Running queries list
F2/2 Waiting queries list
F3/3 Blocking queries list
h Help page
R Refresh

Navigation mode

Key Action
UP Move up the cursor
DOWN Move down the cursor
k Terminate the current backend/tagged backends
Space Tag or untag the process
q Quit
Other Back to activity


pg_activity screenshot

You can’t perform that action at this time.