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. Contact Support for guidance about using unmanaged 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.
pe.conffile by specifying parameters required for PostgreSQL.
"puppet_enterprise::puppet_master_host": "<PRIMARY_HOSTNAME>" "puppet_enterprise::database_host": "<PE-POSTGRESQL_NODE_HOSTNAME>"
Install PE using the
-cflag to specify the path to your customized
./puppet-enterprise-installer -c <PATH_TO_pe.conf>
The installer hangs halfway through, because it can't contact the database. Leave the process running and proceed to the next step.
pe.conffile you created to the PE-PostgreSQL node and SSH into that node.
Run the installer again with the
-cflag, using the same
./puppet-enterprise-installer -c <PATH_TO_pe.conf>When the installation process finishes on the PE-PostgreSQL node, the installer automatically resumes installation on the primary server.Tip: If installation fails to resume on the primary server automatically, connect with SSH to the primary server and run
puppet infrastructure configure.
SSH into the primary server and run Puppet:
puppet agent -t
The primary server is configured to use the standalone PE-PostgreSQL installation on the PE-PostgreSQL node.