PMDAPOSTGRESQL(1)

NAME
pmdapostgresql - PostgreSQL database PMDA

DESCRIPTION
pmdapostgresql is a Performance Co-Pilot PMDA which extracts live performance data from a running PostgreSQL database.

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

INSTALLATION
pmdapostgresql uses a configuration file from (in this order):
•   /etc/pcpdbi.conf
•   $PCP_PMDAS_DIR/postgresql/postgresql.conf
•   ./postgresql.conf

This file can contain overridden values (Perl code) for the settings listed at the start of pmdapostgresql.pl, for example:
•   $database - database access method and database name, [default: 'dbi:Pg:dbname=postgres'] (see DBI(3) for details)
•   $username - username to connect to the database [default: 'postgres']
•   $password - password to connect to the database [default: '']
•   $os_user - operating system username (PMDA will run with the corresponding user id, if invoked as root) [default: $username]

Once this is setup, you can access the names and values for the postgresql performance metrics by doing the following as root:

      # cd $PCP_PMDAS_DIR/postgresql
      # ./Install

To uninstall, do the following as root:

      # cd $PCP_PMDAS_DIR/postgresql
      # ./Remove

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

pmdapostgresql will automatically attempt to reconnect to the postgresql server if it's connection is lost - e.g. if the postgresql service is restarted. In addition, pmdapostgresql will disconnect if it is sent a SIGUSR1 signal, and will then attempt to reconnect on the next fetch. This is mostly for quality assurance and test purposes, but may be useful in other circumstances.

SUPPORTED VERSIONS
pmdapostgresql has been tested and verified with postgresql server, version 9.6.7 and earlier. The verification was done using the pgbench(1) utility. It has not (yet) been tested or verified with postgresql version 10.x.

FILES
/etc/pcpdbi.conf
    configuration file for all PCP database monitors
$PCP_PMDAS_DIR/postgresql/postgresql.conf
    configuration file for pmdapostgresql
$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 error messages from pmdapostgresql

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

SEE ALSO
PCPIntro(1), pmdadbping(1) and DBI(3).