Installing Postgres Enterprise Manager server on RHEL 9 or OL 9 arm64 v9

You can install PEM on a single server, or you can install the web application server and the backend database on two separate servers. You must prepare your servers for PEM installation.

After fulfilling the prerequisites and completing the installation procedure described in the following steps, you must configure PEM. If you're using two servers, install and configure PEM on both servers.

Prerequisites

Before you begin the installation process:

  1. Install a supported Postgres instance for PEM to use as a backend database.

    You can install this instance on the same server to be used for the PEM web application or on a separate server. You can also use an existing Postgres instance if it is configured as detailed in the next steps.

  2. Configure authentication on the Postgres backend database by updating the pg_hba.conf file.

    Make the following changes manually, prior to configuration. (Additional changes are necessary during configuration.)

    • To create the relations required for PEM, the PEM configuration script connects to the Postgres backend database as a superuser of your choice using password authentication. This requires you to permit your chosen superuser to authenticate using a password. This user must be able to connect from any location where you run the configuration script. In practice, this means the server where the backend database is located and the server where the PEM web application is to be installed, if they're different.

    • To allow the chosen superuser to connect using password authentication, add a line to pg_hba.conf that allows host connections using md5 or scram-sha-256 authentication, such as host all superusername 127.0.0.1/32 scram-sha-256.

    Note

    If you're using EDB Postgres Advanced Server, see Modifying the pg_hba.conf file.

    If you're using PostgreSQL, see Client Authentication.

  3. Verify that the sslutils extension is installed on your Postgres server.

    If you're using PostgreSQL or EDB Postgres Extended Server on RHEL/AlmaLinux/Rocky Linux or SLES, you also need to install the hstore contrib module.

    • If you're using EDB Postgres Advanced Server, you can install the sslutils extension as follows, where <x> is the EDB Postgres Advanced server version.

      sudo dnf install edb-as<x>-server-sslutils
    • If you're using PostgreSQL, you can install the sslutils and, if required, hstore modules as follows, where <x> is the PostgreSQL version.

      sudo dnf install sslutils_<x> postgresql<x>-contrib
    • If you're using EDB Postgres Extended Server, you can install the sslutils and, if required, hstore modules as follows, where <x> is the EDB Postgres Extended Server version.

      sudo dnf install edb-postgresextended<x>-sslutils edb-postgresextended<x>-contrib
  4. If you're using a firewall, allow access to port 8443 on the server where the PEM web application will be located:

    firewall-cmd --permanent --zone=public --add-port=8443/tcp
    
    firewall-cmd --reload
  5. Make sure the components Postgres Enterprise Manager depends on are up to date on all servers. You can do this by updating the whole system using your package manager as shown below. If you prefer to update individual packages, a full list of dependencies is provided in Dependencies of the PEM Server and Agent on Linux.

    sudo dnf upgrade

Install the package

sudo dnf -y install edb-pem

Initial configuration

# You can configure the PEM server using the following command:
sudo /usr/edb/pem/bin/configure-pem-server.sh

For more details, see Configuring the PEM server on Linux.

Note
  • The operating system user pem is created while installing the PEM server. The PEM server web application is a WSGI application, which runs under Apache HTTPD. The pem application data and the session is saved to this user's home directory.

Supported locales

Currently, the Postgres Enterprise Manager server and web interface support a locale of English(US) en_US and use of a period (.) as a language separator character. Using an alternate locale or a separator character other than a period might cause errors.