Command line tool for PostgreSQL server activity monitoring.
Project description
Command line tool for PostgreSQL server activity monitoring.
Dependencies
python
≥ 2.6psycopg2
≥ 2.2.1psutil
≥ 0.5.1
Installation from sources:
setuptools
≥ 0.6.14
You have to install the package psycopg2
from pgdg
APT or YUM repositories. psycopg2
can also been installed from pip
with pip install psycopg2
or pip install psycopg2-binary
for the binary version.
Installation
sudo python setup.py install
Installation with man page
sudo python setup.py install --with-man
Usage
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
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").
-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.
--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
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 |
T |
Change duration mode: query, transaction, backend |
Space |
Pause on/off |
v |
Change queries display mode: full, indented, truncated |
UP/DOWN |
Scroll processes list |
q |
Quit |
+ |
Increase refresh time. Maximum value : 5s |
- |
Decrease refresh time. Minimum Value : 0.5s |
F1/1 |
Running queries list |
F2/2 |
Waiting queries list |
F3/3 |
Blocking queries list |
h |
Help page |
R |
Refresh |
D |
Refresh Database Size (including when --no-dbzise option applied) |
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 |
Screenshot
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
usingpg_stat_get_db_xact_commit()
andpg_stat_get_db_xact_rollback()
- and more ( eg :
pg_cancel_backend()
andpg_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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pg_activity-1.6.1.tar.gz
.
File metadata
- Download URL: pg_activity-1.6.1.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23573b1ce8e2327493eb82b4dea619d2cfc8424d476f4dfacf7298011c497e91 |
|
MD5 | 93f4c32ea2790c5b2a70adeef491675d |
|
BLAKE2b-256 | b38233efa589efcc48d5ac9c599df6545df9db42c00b18f13db6248ff8a0a4bb |
File details
Details for the file pg_activity-1.6.1-py2.py3-none-any.whl
.
File metadata
- Download URL: pg_activity-1.6.1-py2.py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d669fe7c9ecb0e327fbe2474f0cf32a1e813791f80eeee171edfd11e14211975 |
|
MD5 | 012886ed1308a3c59a915fffde04d3b1 |
|
BLAKE2b-256 | 4ade0e061c8c60825e899de5ad45e794093fa0e27ea1ebf84b5acc25dddae7eb |