|
||
---|---|---|
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.