Sign inSign up

rsmnarts/pg_activity

By rsmnarts

Updated over 3 years ago

Official repo: https://github.com/dalibo/pg_activity

Image
1

1.6K

rsmnarts/pg_activity repository overview

Usage

docker run --rm -it rsmnarts/pg_activity --help
docker run --rm -it -e PGHOST=host.docker.internal -e PGUSER=postgres rsmnarts/pg_activity

Options

pg_activity [options]

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:
                          "localhost").
    -d DBNAME, --dbname=DBNAME
                          Database name to connect to (default: "postgres").
    --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.
    --no-db-size          Skip total size of DB.
    --min-duration        Don't display queries with smaller than specified
                          duration (in seconds).
    --verbose-mode=VERBOSE_MODE
                          Queries display mode. Values: 1-TRUNCATED,
                          2-FULL(default), 3-INDENTED
    --duration-mode=DURATION_MODE
                          Duration mode. Values: 1-QUERY(default),
                          2-TRANSACTION, 3-BACKEND


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.

Notes

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

KeyAction
rSort by READ/s, descending
wSort by WRITE/s, descending
cSort by CPU%, descending
mSort by MEM%, descending
tSort by TIME+, descending
TChange duration mode: query, transaction, backend
SpacePause on/off
vChange queries display mode: full, indented, truncated
UP/DOWNScroll processes list
k/jScroll processes list
qQuit
+Increase refresh time. Maximum value : 5s
-Decrease refresh time. Minimum Value : 0.5s
F1/1Running queries list
F2/2Waiting queries list
F3/3Blocking queries list
hHelp page
RRefresh
DRefresh Database Size (including when --no-dbzise option applied)

Navigation mode

KeyAction
UP/kMove up the cursor
DOWN/jMove down the cursor
KTerminate the current backend/tagged backends
CCancel the current backend/tagged backends
SpaceTag or untag the process
qQuit
OtherBack to activity

FAQ

I can't see my queries only TPS is shown

pg_activity scans the view pg_stat_activity with a user defined refresh time comprised between O.5 and 5 seconds. It can be modified in the interface with the + and - keys. Any query executed between two scans won't be displayed.

What is more, pg_activity uses different queries to get :

  • settings from pg_settings
  • version info using version()
  • queries and number of connections from pg_stat_activity
  • locks from pg_locks
  • tps from pg_database using pg_stat_get_db_xact_commit() and pg_stat_get_db_xact_rollback()
  • and more ( eg : pg_cancel_backend() and pg_terminate_backend() )

Thoses queries cannot be seen in the query tab because all queries issued from the pg_activity backend are considered as noise and are not displayed . On the other hand, the transactions used to get the info for pg_activity's reporting are still accounted for by postgres in pg_stat_get_db_xact_commit() and pg_stat_get_db_xact_commit(). Therefore pg_activity will display a non zero TPS even with no activity on the database, and/or no activity displayed on screen.

Tag summary

Content type

Image

Digest

sha256:0c591533a

Size

30.2 MB

Last updated

over 3 years ago

docker pull rsmnarts/pg_activity