|
|
||
|---|---|---|
| docs | ||
| expected | ||
| percona-packaging | ||
| sql | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| guc.c | ||
| hash_query.c | ||
| pg_stat_monitor--1.0.sql | ||
| pg_stat_monitor.c | ||
| pg_stat_monitor.conf | ||
| pg_stat_monitor.control | ||
| pg_stat_monitor.h | ||
README.md
What is pg_stat_monitor?
The pg_stat_monitor is the statistics collection tool based on PostgreSQL's contrib module pg_stat_statements. PostgreSQL’s pg_stat_statements provides the basic statistics, which is sometimes not enough. The major shortcoming in pg_stat_statements is that it accumulates all the queries and their statistics and does not provide aggregated statistics nor histogram information. In this case, a user needs to calculate the aggregate which is quite expensive. pg_stat_monitor is developed on the basis of pg_stat_statements as its more advanced replacement. It provides all the features of pg_stat_statements plus its own feature set.
Documentation
Supported PostgreSQL Versions
The pg_stat_monitor should work on the latest version of PostgreSQL but is only tested with these PostgreSQL versions:
| Distribution | Version | Supported |
|---|---|---|
| PostgreSQL | Version < 11 | ❌ |
| PostgreSQL | Version 11 | ✔️ |
| PostgreSQL | Version 12 | ✔️ |
| PostgreSQL | Version 13 | ✔️ |
| Percona Distribution | Version < 11 | ❌ |
| Percona Distribution | Version 11 | ✔️ |
| Percona Distribution | Version 12 | ✔️ |
| Percona Distribution | Version 13 | ✔️ |
Installation
pg_stat_monitor is supplied as part of Percona Distribution for PostgreSQL. The rpm/deb packages are available from Percona repositories. Refer to Percona Documentation for installation instructions.
The source code of latest release of pg_stat_monitor can be downloaded from this GitHub page or it can be downloaded using the git:
git clone git://github.com/Percona/pg_stat_monitor.git
Compile and Install the extension
cd pg_stat_monitor
make USE_PGXS=1
make USE_PGXS=1 install
Setup
pg_stat_monitor cannot be installed in your running PostgreSQL instance. It should be set in the postgresql.conf file.
# - Shared Library Preloading -
shared_preload_libraries = 'pg_stat_monitor' # (change requires restart)
#local_preload_libraries = ''
#session_preload_libraries = ''
Or you can do from psql terminal using the alter system command.
pg_stat_monitor needs to be loaded at the start time. This requires adding the pg_stat_monitor extension for the shared_preload_libraries parameter and restart the PostgreSQL instance.
postgres=# ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_monitor';
ALTER SYSTEM
sudo systemctl restart postgresql-13
Create the extension using the CREATE EXTENSION command.
postgres=# CREATE EXTENSION pg_stat_monitor;
CREATE EXTENSION
Copyright Notice
Copyright (c) 2006 - 2020, Percona LLC.