By default, Puppet Enterprise includes its own database backend, PE-PostgreSQL, which is installed alongside PuppetDB. If the load on your PuppetDB node is larger than it can effectively scale to (greater than 20,000 nodes), you can install a standalone instance of PE-PostgreSQL.
In certain limited circumstances, you might choose to configure a PostgreSQL instance that's not managed by PE. Using unmanaged PostgreSQL increases complexity for maintenance and upgrades, so we recommend this configuration only for customers who can't use PE-PostgreSQL.
Install standalone PE-PostgreSQL
If the load on your PuppetDB node is larger than it can effectively scale to (greater than 20,000 nodes), you can install a standalone instance of PE-PostgreSQL.
You must have root access to the node on which you plan to install PE-PostgreSQL, as well as the ability to SSH and copy files to the node.
Install unmanaged PostgreSQL
If you use Amazon RDS, or if your business requirements dictate that databases must be managed outside of Puppet, you can configure a PostgreSQL database that's not managed by PE.
-
PostgreSQL 9.6 or later.
-
The complete certificate authority certificate chain for the external party CA, in PEM format.
-
The DNS-addressable name, username, and password for the external PostgreSQL database.
Create the unmanaged PostgreSQL instance
For example, for RDS, the root certificate is available here.
Create PE databases on the unmanaged PostgreSQL instance
Next, install PE using the -c
flag to specify the
path to a customized pe.conf
file with required PostgreSQL parameters:
./puppet-enterprise-installer -c <PATH_TO_pe.conf>
.
Establish SSL between PE and the unmanaged PostgreSQL instance
-c
flag to
specify the path to a customized pe.conf
file with required PostgreSQL
parameters: ./puppet-enterprise-installer -c
<PATH_TO_pe.conf>
.