Installing external PostgreSQL

We've updated our documentation to remove harmful terminology.

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.

Before you begin

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.

  1. Prepare your pe.conf file by specifying parameters required for PostgreSQL
    "puppet_enterprise::puppet_master_host": "<PRIMARY_HOSTNAME>"
    "puppet_enterprise::database_host": "<PE-POSTGRESQL_NODE_HOSTNAME>"
  2. Install PE using the -c flag to specify the path to your customized pe.conf file: ./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.

  3. Copy the pe.conf file you created to the PE-PostgreSQL node and SSH into that node.
  4. Run the installer again with the -c flag, using the same pe.conf file: ./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.
  5. 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.

How helpful was this page?

If you leave us your email, we may contact you regarding your feedback. For more information on how Puppet uses your personal information, see our privacy policy.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.