Install PE with an unmanaged PostgreSQL service
If you use an unmanaged PostgreSQL service with with PE 2025.11 or later, you are responsible for installing, maintaining, and upgrading the PostgreSQL server. Before installing PE, verify that your PostgreSQL deployment meets the requirements described in this topic.
Before installing PE 2025.11 or later with an unmanaged PostgreSQL service:
-
Your unmanaged PostgreSQL server must be running PostgreSQL 17 before installing PE 2025.11 or later.
-
Configure the PostgreSQL server to use the
en_US.UTF-8locale and UTF-8 encoding. -
Install the required PostgreSQL extension packages on the PostgreSQL host as described in this topic.
PE does not install or manage unmanaged PostgreSQL servers and does not verify the PostgreSQL version during a fresh installation. Before running the PE installer, confirm that your PostgreSQL server is running PostgreSQL 17 when installing PE 2025.11 or later.
postgresql.conf and pg_hba.conf is unchanged between PostgreSQL 14 and PostgreSQL 17. No configuration file changes are required solely because of the PostgreSQL major-version upgrade. Existing connection settings can be used without modification after upgrading PostgreSQL.Locale and encoding requirements
Configure the PostgreSQL server with the following settings:
-
Locale:
en_US.UTF-8 -
Encoding:
UTF-8
These requirements apply to all PE databases hosted on an unmanaged PostgreSQL server.
Install PostgreSQL extensions
Before installing PE, install the required PostgreSQL extension packages on the PostgreSQL host.
PE installs each extension into the appropriate database automatically. You do not need to create extensions manually. However, the extension binaries must be installed on the PostgreSQL host before PE can load them.
Install the postgresql17-contrib package
Install the postgresql17-contrib package from the PostgreSQL Global Development Group (PGDG) repository on the unmanaged PostgreSQL host.
RHEL, Rocky Linux, and Oracle Linux:
dnf install postgresql17-contrib
Debian and Ubuntu:
apt-get install postgresql-17-contrib
This package provides the following extensions:
| Extension | Used by |
pgcrypto
|
Most PE databases, including pe-puppetdb, pe-rbac, pe-ca, pe-activity, pe-orchestrator, pe-inventory, pe-patching, pe-infra-assistant, and pe-workflow (encryption) |
pg_trgm
|
pe-puppetdb (text search) |
citext
|
pe-classifier (case-insensitive text) |
pg_stat_statements
|
All PE databases (query monitoring) |
Install pg_repack
Install pg_repack version 1.5.0 or later for PostgreSQL 17 from the PGDG repository.
RHEL, Rocky Linux, and Oracle Linux:
dnf install pg_repack_17
Debian and Ubuntu:
apt-get install postgresql-17-repack
pg_repack is required for all PE databases. PE uses pg_repack to perform online table maintenance without exclusive locks.
Version 1.5.0 is the first upstream release that supports PostgreSQL 17. PE 2025.11 ships pg_repack 1.5.3 in its bundled PostgreSQL packages.
Install pglogical for HA deployments
If you are configuring PE high availability (HA) with a replica backed by an unmanaged PostgreSQL server, install pglogical version 2.4.4 or later for PostgreSQL 17 from the pglogical project repository.
Standard unmanaged PostgreSQL deployments do not require pglogical.
Version 2.4.4 is the first upstream release that supports PostgreSQL 17. PE 2025.11 includes pglogical 2.4.6 in PE-managed PostgreSQL deployments.