Terminal Tools - pg top, pg systat, pg proctab
Transcript of Terminal Tools - pg top, pg systat, pg proctab
![Page 1: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/1.jpg)
https://www.2ndQuadrant.com.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Terminal Toolspg_top, pg_systat, pg_proctab
PostgresOpen 2019
![Page 2: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/2.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
Overview
• Terminal based tools• Basic live views of the system• Intended to be simpler to use than psql• Compliment other tools
• Present capabilities of these tools
![Page 3: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/3.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
About me …
• Employed by 2ndQuadrant• PostgreSQL Contributor since 2005• Director at United StatesPostgreSQL Association since 2011
• Portland PostgreSQL Users Group
![Page 4: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/4.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
Open source projects
• pg_top - Display PostgreSQL processeshttps://pg_top.gitlab.io/
• pg_systat - Display PostgreSQL statisticshttps://pg_systat.gitlab.io/
• pg_proctab - PostgreSQL extension toquery operating system process tablehttps://pg_proctab.gitlab.io/
![Page 5: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/5.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top
Display top PostgreSQL processes by:• Memory• Processor utilization• Transaction or query run time
![Page 6: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/6.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Default View
![Page 7: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/7.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Backend States
![Page 8: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/8.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top State
![Page 9: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/9.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Username
![Page 10: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/10.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Transaction & Query Time
![Page 11: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/11.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top I/O Statistics
![Page 12: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/12.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Replication
![Page 13: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/13.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Display Query
![Page 14: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/14.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Query Execution Plan
![Page 15: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/15.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Display Locks Held
![Page 16: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/16.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_top Additional Features
• Batch-mode operation can be usedto capture output to file:pg_top -b -d 1 -x 10 > pg_top.out
• Can be used to display PostgreSQLprocesses on remote systems if the remotedatabase has the pg_proctab extensionloaded
![Page 17: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/17.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systatDisplay PostgreSQL statistics tables:
• pg_stat_database• pg_stat_database_conflicts• pg_stat_all_tables• pg_stat_all_indexes• pg_statio_all_tables• pg_statio_all_indexes• pg_stat_process_vacuum
![Page 18: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/18.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat database transactions
![Page 19: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/19.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat database blocks
![Page 20: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/20.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat database tuples
![Page 21: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/21.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat database file system usage
![Page 22: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/22.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat database conflicts(replicas only)
![Page 23: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/23.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat table scans
![Page 24: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/24.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat table tuples
![Page 25: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/25.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat table vacuum
![Page 26: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/26.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat table analyze
![Page 27: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/27.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat index
![Page 28: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/28.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_systat Additional Features
• Batch-mode operation can be usedto capture output to file:pg_systat -b > pg_systat.out
• Almost all views can display PostgreSQLstatistics from remote systems
![Page 29: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/29.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab
A PostgreSQL extension that provides a SQLinterface to the operating system’s processtable through user-defined functions:
• pg_cputime• pg_loadavg• pg_memusage• pg_proctab
![Page 30: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/30.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Features
• Generate reports on system utilization byprocess; see scripts in contrib directory
• Allows pg_top to get operating systemstatistics from remote systems
• Currently only for PostgreSQL systemsrunning on Linux
![Page 31: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/31.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Information
• Provides low level systeminformation
• Example scripts provided for:• creating tables to store snapshots ofstatistics data
• collecting snapshots of statistics data• generating reports from the saved data
![Page 32: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/32.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_system Additional Features
• Batch-mode operation can be usedto capture output to file:pg_top -b -d 1 -x 10 > pg_top.out
• Can be used to display PostgreSQLprocesses on remote systems if the remotedatabase has the pg_proctab extensionloaded
![Page 33: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/33.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Example
# Create tab lespsql − f create−ps_procstat−t ab les . sq l
# Take a snapshot o f data ; re tu rns snapshot IDpsql − f ps_procstat−snap . sq l
# Take another snapshot o f data# re tu rns snapshot IDpsql − f ps_procstat−snap . sq l
![Page 34: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/34.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctabProcessor and I/O Utilization Reports% ps−processor−u t i l i z a t i o n . sh <pid > <snap1> <snap2>
Processor U t i l i z a t i o n = 42.00 %
% ps−io−u t i l i z a t i o n . sh <pid > <snap1> <snap2>
Reads = 276981Wri tes = 63803Reads ( Bytes ) = 2164604928Wri tes ( Bytes ) = 508166144Cancel led ( Bytes ) = 36880384
![Page 35: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/35.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Database Reports% ps−r epo r t . p l <pid > <snapshot 1> <snapshot 2>
Database : dbt5Snapshot S t a r t : 2010−03−26 15:24:51.516226−07Snapshot End : 2010−03−26 15:25:51.57661−07−−−−−−−−−−−−−−−−−−−Database S t a t i s t i c s−−−−−−−−−−−−−−−−−−−Commits : 421Rol lbacks : 2Blocks Read : 13919368Blocks H i t : 7876506
![Page 36: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/36.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Table Stat Report
================Table S t a t i s t i c s================−−−−−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−−− −−−−−−−−− −−−−−−−−Schema . Re la t ion Seq Scan Seq Tup Read Idx Scan Idx Tup Fetch N Tup Ins N Tup Up−−−−−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−−− −−−−−−−−− −−−−−−−−pub l i c . broker 169 8067 259. . .
![Page 37: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/37.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
pg_proctab Index Stats Report
================Index S t a t i s t i c s================−−−−−−−−−−−−−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−− −−−−−−−−−−−−−Schema . Re la t ion . Index Idx Scan Idx Tup Read Idx Tup Fetch−−−−−−−−−−−−−−−−−−−−−−− −−−−−−−− −−−−−−−−−−−− −−−−−−−−−−−−−pub l i c . broker . pk_broker 259 259. . .
![Page 38: Terminal Tools - pg top, pg systat, pg proctab](https://reader033.fdocuments.net/reader033/viewer/2022051406/627d740b1af964026609d165/html5/thumbnails/38.jpg)
https://www.2ndQuadrant.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
PostgresOpen 2019Orlando, FL | 11-13 September 2019
Thank you!Visit 2ndQuadrant in the Expo Hall!
Mark WongConsultant, 2ndQuadrantContributor, [email protected]
https://2ndquadrant.com/contact