Configuring PostgreSQL for Monitoring

Monitoring PostgreSQL metrics with the postgres_exporter is enabled by pmm-admin add postgresql command. The postgresql alias will set up postgresql:metrics and also linux:metrics on a host (for more information, see Adding monitoring services).

pmm-admin supports passing PostgreSQL connection information via following flags:

Flag Description
--host PostgreSQL host
--password PostgreSQL password
--port PostgreSQL port
--user PostgreSQL user

An example command line would look like this:

pmm-admin add postgresql --host=localhost --password='secret' --port=5432 --user=pmm_user


Capturing read and write time statistics is possible only if track_io_timing setting is enabled. This can be done either in configuration file or with the following query executed on the running system:

ALTER SYSTEM SET track_io_timing=ON;
SELECT pg_reload_conf();

Supported versions of PostgreSQL

PMM follows EOL policy, and thus supports monitoring PostgreSQL version 9.4 and up. Older versions may work, but will not be supported. For additional assistance, visit Percona PMM Forums.

Setting Up the Required Permissions

Percona recommends that a PostgreSQL user be configured for SUPERUSER level access, in order to gather the maximum amount of data with a minimum amount of complexity. This can be done with the following command for the standalone PostgreSQL installation:



In case of monitoring a PostgreSQL database running on an Amazon RDS instance, the command should look as follows:

CREATE USER pmm_user WITH rds_superuser ENCRYPTED PASSWORD 'secret';
  • Page updated 2021-01-29


Previous topic

Configuring MySQL for Best Results

Next topic

Configuring MongoDB for Monitoring in PMM Query Analytics

Contact Us

For free technical help, visit the Percona Community Forum.
To report bugs or submit feature requests, open a JIRA ticket.
For paid support and managed or professional services, contact Percona Sales.