---
name: "pmdapostgresql"
section: "1"
platform: "linux"
package: "pcp-pmda-postgresql"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmdapostgresql"
---

# pmdapostgresql(1)

PostgreSQL database PMDA

## NAME

**pmdapostgresql** - PostgreSQL database PMDA

## DESCRIPTION

**pmdapostgresql** is a Performance Co-Pilot (PCP) Performance Metrics Domain Agent (PMDA) which extracts live performance data from a running PostgreSQL database server.

Many of the statistics available from a PostgreSQL server may not be enabled by default. Refer to the online documentation **https://postgresql.org/docs/current/static/monitoring-stats.html** which describes each of the available parameters related to statistics collection and how to enable them.

## CONFIGURATION

**pmdapostgresql** reads a mandatory ini-style configuration file:

-

  -

  *`$PCP_PMDAS_DIR`/postgresql/pmdapostgresql.conf*

This file currently contains only one section **\[authentication\]** which specifies values for the following settings. The shipped file contains commented examples; configure all required settings before installing the PMDA:

- **host (*local*)**

  Hostname to connect to.

- **port (*5432*)**

  Port number to use.

- **dbname (*postgres*)**

  Database name.

- **user (*postgres*)**

  Username to connect to the database.

- **password (*password*)**

  Password to connect to the database.

- **osuser (unset)**

  Operating system user the PMDA runs as.

The values above are examples only; the shipped configuration is not sufficient to install the PMDA. Uncomment and configure **host**, **port**, **dbname**, **user**, and **password**, even for a local server using the default PostgreSQL configuration.

If **osuser** is not specified in the configuration file, the PMDA will run as the current user. A host specification of *local* will use a UNIX domain socket, which uses peer authentication, see comments in the **pg\_hba.conf** file. In this case, the **osuser** setting should probably be set to **postgres**.

Note that the port number is required even for a UNIX domain connection because it's used as the socket filename by the server.

## INSTALLATION

To install, the following must be done as root:

```
# cd $PCP_PMDAS_DIR/postgresql
# ./Install
```

To uninstall, the following must be done as root:

```
# cd $PCP_PMDAS_DIR/postgresql
# ./Remove
```

**pmdapostgresql** is launched by [**pmcd**(1)](/pmcd/1.md) and should never be executed directly. The **Install** and **Remove** scripts notify [**pmcd**(1)](/pmcd/1.md) when the agent is installed or removed.

**pmdapostgresql** will automatically attempt to reconnect to the PostgreSQL server if its connection is lost - e.g. if the PostgreSQL service is restarted.

## SUPPORTED VERSIONS

This version of **pmdapostgresql** has been tested and verified with PostgreSQL server version **10.2** and earlier. Later versions will probably also work correctly because the PMDA probes the various performance tables on start-up to determine the column ordering. It also tolerates missing or renamed tables and/or columns.

## FILES

- *`$PCP_PMDAS_DIR`/postgresql/pmdapostgresql.conf*

  configuration file for the **pmdapostgresql** agent

- *`$PCP_PMDAS_DIR`/postgresql/Install*

  installation script for the **pmdapostgresql** agent

- *`$PCP_PMDAS_DIR`/postgresql/Remove*

  undo installation script for the **pmdapostgresql** agent

- *`$PCP_LOG_DIR`/pmcd/postgresql.log*

  default log file for messages from the **pmdapostgresql** agent

Note that the usual/default value for **$PCP\_PMDAS\_DIR** is **/var/lib/pcp/pmdas** and the default for **$PCP\_LOG\_DIR** is **/var/log/pcp** but these settings are platform dependent.

## PCP ENVIRONMENT

Environment variables with the prefix **PCP\_** are used to parameterize the file and directory names used by PCP. On each installation, the file */etc/pcp.conf* contains the local values for these variables. The **$PCP\_CONF** variable may be used to specify an alternative configuration file, as described in [**pcp.conf**(5)](/pcp.conf/5.md).

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmcd**(1)](/pmcd/1.md) and **https://postgresql.org/docs/current/static/monitoring-stats.html**.
