All Projects → dalibo → Pg_activity

dalibo / Pg_activity

Licence: postgresql
pg_activity is a top like application for PostgreSQL server activity monitoring.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pg activity

Octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Stars: ✭ 2,579 (+109.33%)
Mutual labels:  cli, sql, postgresql
Sql
MySQL & PostgreSQL pipe
Stars: ✭ 81 (-93.43%)
Mutual labels:  cli, sql, postgresql
Sequelize Auto Migrations
Migration generator && runner for sequelize
Stars: ✭ 233 (-81.09%)
Mutual labels:  cli, sql, postgresql
Trdsql
CLI tool that can execute SQL queries on CSV, LTSV, JSON and TBLN. Can output to various formats.
Stars: ✭ 593 (-51.87%)
Mutual labels:  cli, sql, postgresql
Ddlparse
DDL parase and Convert to BigQuery JSON schema and DDL statements
Stars: ✭ 52 (-95.78%)
Mutual labels:  sql, postgresql
Scala Db Codegen
Scala code/boilerplate generator from a db schema
Stars: ✭ 49 (-96.02%)
Mutual labels:  sql, postgresql
Squid
🦑 Provides SQL tagged template strings and schema definition functions.
Stars: ✭ 57 (-95.37%)
Mutual labels:  sql, postgresql
Q
q - Run SQL directly on CSV or TSV files
Stars: ✭ 8,809 (+615.02%)
Mutual labels:  cli, sql
Osql Experimental
A community-oriented fork of osquery with support for cmake, public CI testing, and regular releases
Stars: ✭ 62 (-94.97%)
Mutual labels:  sql, monitoring
Rpg Boilerplate
Relay (React), Postgres, and Graphile (GraphQL): A Modern Frontend and API Boilerplate
Stars: ✭ 62 (-94.97%)
Mutual labels:  sql, postgresql
Aceql Http
AceQL HTTP is a framework of REST like http APIs that allow to access to remote SQL databases over http from any device that supports http.
Stars: ✭ 68 (-94.48%)
Mutual labels:  sql, postgresql
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (-53.65%)
Mutual labels:  sql, monitoring
Be Course 17 18
🎓 Backend · 2017-2018 · Curriculum and Syllabus 💾
Stars: ✭ 44 (-96.43%)
Mutual labels:  cli, sql
Aspnetcorenlog
ASP.NET Core NLog MS SQL Server PostgreSQL MySQL Elasticsearch
Stars: ✭ 54 (-95.62%)
Mutual labels:  sql, postgresql
Dagbot
The official Repository for dagbot, the self proclaimmed n1 meme bot.
Stars: ✭ 40 (-96.75%)
Mutual labels:  sql, postgresql
Ether sql
A python library to push ethereum blockchain data into an sql database.
Stars: ✭ 41 (-96.67%)
Mutual labels:  sql, postgresql
Pangres
SQL upsert using pandas DataFrames for PostgreSQL, SQlite and MySQL with extra features
Stars: ✭ 68 (-94.48%)
Mutual labels:  sql, postgresql
Zabbixdba
Zabbix Database Monitoring Service (Oracle, Pg, MySQL, MS SQL, DB2, etc.)
Stars: ✭ 68 (-94.48%)
Mutual labels:  postgresql, monitoring
Purescript Selda
A type-safe, high-level SQL library for PureScript
Stars: ✭ 72 (-94.16%)
Mutual labels:  sql, postgresql
Goqu
SQL builder and query library for golang
Stars: ✭ 984 (-20.13%)
Mutual labels:  sql, postgresql

pg_activity

Command line tool for PostgreSQL server activity monitoring.

Latest PyPI version Build Status

pg_activity screenshot

Installation

pg_activity requires Python 3.6 or later. It can be installed using pip (available, e.g., as apt install python3-pip on Debian-based distributions):

$ python3 -m pip install pg_activity psycopg2-binary

or directly from your Linux distribution, if available, e.g.:

$ sudo apt install pg-activity

pg_activity requires psycopg2 version 2.8 or higher.

Usage

pg_activity works locally 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").
    --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

Key Action
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
k/j 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/k Move up the cursor
DOWN/j Move down the cursor
K Terminate the current backend/tagged backends
C Cancel the current backend/tagged backends
Space Tag or untag the process
q Quit
Other Back 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].