Installing a PEM Agent on Linux

Installing a PEM agent on a CentOS or RHEL host

On a Linux system, you can use the yum package manager to install a PEM agent. Please note that before using a package manager to install the PEM agent, the host must contain the following packages:



After providing the prerequisite packages, you can install the PEM agent:

  1. Download the edb-repo installation package from:

    The edb-repo package creates the repository configuration file (named edb.repo). The edb.repo file defines multiple repositories hosted at

  2. Assume superuser privileges and use the following command to install the edb-repo package, and create the repository configuration file:

    rpm -Uvh edb-repo-9.<x>-<x>.noarch.rpm

    Where x specifies the version of the file.

    Then, use your choice of editor to modify the configuration file, enabling the enterprisedb-tools and enterprisedb-dependencies repositories. The configuration file is named edb.repo; it resides in /etc/yum.repos.d.

    To enable a repository, change the value of the enabled parameter to 1 and replace the user_name and password placeholders in the baseurl specification with your repository credentials. Contact EnterpriseDB for repository credentials.

    For example:


    name=EnterpriseDB Tools $releasever - $basearch






    name=EnterpriseDB Dependencies $releasever - $basearch






    name=EnterpriseDB Advanced Server 9.6 $releasever - $basearch





  3. After modifying the content of the repository configuration file, you can use yum to install the PEM agent:

    yum install edb-pem-agent

When the installation is complete, yum will display a list of the installed packages and dependencies.

Using an RPM package to install the PEM agent

Using an RPM package to install the PEM agent

When you install an RPM package that is signed by a source that is not recognized by your system, yum may ask for your permission to import the key to your local server. If prompted, and you are satisfied that the packages come from a trustworthy source, enter a y, and press Return to continue.

During the installation, yum may encounter a dependency that it cannot resolve. If it does, it will provide a list of the required dependencies that you must manually resolve.

Installing a PEM Agent on a Debian or Ubuntu Host

To install PEM on a Debian or Ubuntu host, you must have credentials that allow access to the EnterpriseDB repository. To request credentials for the repository, contact EnterpriseDB .

The following steps will walk you through using the EnterpriseDB apt repository to install a Debian package. When using the commands, replace the username and password with the credentials provided by EnterpriseDB.

  1. Go to and log in as root:

    sudo su -

  2. Configure the EnterpriseDB repository:

    sh -c 'echo "deb$(lsb_release - cs)-edb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/edb-$(lsb_release -cs).list'

  3. Add support to your system for secure APT repositories:

    apt-get install apt-transport-https

  4. Add the EBD signing key:

    wget -q -O - | apt-key add

  5. Update the repository metadata:

    apt-get update

  6. Use the following command to install the Debian package for the PEM agent:

    apt-get install edb-pem-agent

Installing a PEM Agent on a SLES Host

For detailed information about installing Advanced Server and supporting components on a SLES host, please consult the

EDB Postgres Advanced Server Installation Guide

SLES packages are available from:

Before installing PEM, you must install prerequisite packages. Use the following commands replacing sp_no with the service pack that you are using (i.e. SP2 or SP3):

SUSEConnect -p sle-module-legacy/12/x86_64

SUSEConnect -p sle-sdk/12/x86_64

zypper addrepo<sp_no>/Apache:Modules.repo

zypper addrepo<sp_no>/ pem_opensuse_boost

zypper refresh

zypper install edb-pem-agent

Registering an Agent

Each PEM agent must be registered with the PEM server. The registration process provides the PEM server with the information it needs to communicate with the agent. The PEM agent graphical installer supports agent self-registration, but you can use the pemworker utility to register the agent if you skip PEM agent registration during a graphical installation or use an RPM package to install a PEM agent.

The RPM installer places the PEM agent in the /usr/pem/agent/bin directory. To register an agent, include the --register-agent keywords along with registration details when invoking the pemworker utility:

pemworker -–register-agent

Append command line options to the command string when invoking the pemworker utility. Each option should be followed by a corresponding value:




Specifies the IP address of the PEM server. This parameter is required.


Specifies the name of the PEM user. This parameter is required.


Specifies the port that PEM monitors for connections. The default value is 5432.


Specifies the complete path to the directory in which certificates will be created. If you do not provide a path, certificates will be created in: On Linux, ~/.pem On Windows, %APPDATA%/pem


Specifies a user-friendly name that will be displayed in the PEM Browser tree control. The default is the system hostname.


The name of the group in which the agent will be displayed.


The name of the group role that may access the PEM Agent.


The name of the owner of the PEM Agent.


Include the force_registration clause to instruct the PEM server to register the agent with the arguments provided; this clause is usefule if you are overriding an existing agent configuration. The default value is Yes.


Enable the enable-heartbeat-connection parameter to create a dedicated heartbeat connection between PEM Agent and server to update the active status. The default value is No.

Before any changes are made on the PEM database, the connecting agent is authenticated with the PEM database server. When invoking the pemworker utility, you must provide the password associated with the PEM server administrative user role (postgres). There are three ways to specify the administrative password; you can:

  • set the PEM_MONITORED_SERVER_PASSWORD environment variable.

  • provide the password on the command line with the PGPASSWORD keyword.

  • create an entry in the .pgpass file.

Failure to provide the password will result in a password authentication error; you will be prompted for any other required but omitted information. When the registration is complete, the server will confirm that the agent has been successfully registered.

Setting PEM Agent Configuration Parameters

The PEM agent RPM installer creates a sample configuration file named agent.cfg.sample in the /usr/pem/agent/etc directory. When you register the PEM agent, the pemworker program creates the actual agent configuration file (named agent.cfg). You must modify the agent.cfg file, adding the following configuration parameter:

heartbeat_connection = true

You must also add the location of the ca-bundle.crt file (the certificate authority). By default, the installer creates a ca-bundle.crt file in the location specified in your agent.cfg.sample file. You can copy the default parameter value from the sample file, or, if you use a ca-bundle.crt file that is stored in a different location, specify that value in the ca_file parameter:


Then, use a platform-specific command to start the PEM agent service; the service is named pemagent. For example, on a CentOS or RHEL 7.x host, use systemctl to start the service:

systemctl start pemagent

The service will confirm that it is starting the agent; when the agent is registered and started, it will be displayed on the Global Overview and in the Object browser of the PEM web interface.

For information about using the pemworker utility to register a server, please see the PEM Getting Started Guide