Database maintenance

You can optimize the Puppet Enterprise (PE) databases to improve performance.

Enable the pe_databases module

The pe_databases module helps you manage and tune your Puppet Enterprise (PE) databases. The module is installed in the $basemodulepath directory as part of the PE installation or upgrade process, and it is enabled by default.

Important: If you have a version of this module, from the Forge or other sources, specified in your code, you must remove this version before upgrading to allow the version bundled with PE to be asserted.
  1. To enable or disable the pe_databases module, change the puppet_enterprise::enable_database_maintenance parameter. This parameter accepts Boolean values.
  2. Run Puppet: puppet agent -t

Databases in PE

Puppet Enterprise (PE) uses PostgreSQL as the backend for its databases. You can use the native tools in PostgreSQL to perform database exports and imports.

The PE PostgreSQL database includes the following databases:
Database Description
pe-activity Activity data from the Classifier, including users, nodes, and times of activities
pe-classifier Classification data, all node group information
pe-puppetdb PuppetDB data, including exported resources, catalogs, facts, and reports
pe-rbac Role-based access control (RBAC) data, including users, permissions, and AD/LDAP information
pe-orchestrator Orchestrator data, including user, node, and job run result details

List all database names

You can generate a list of PostgreSQL database names.

  1. Switch to the pe-postgres user by running:
    sudo su - pe-postgres -s /bin/bash
  2. Open the PostgreSQL command-line by running:
    /opt/puppetlabs/server/bin/psql
  3. To list the databases, run: \l
  4. To exit the PostgreSQL command line, run: \q
  5. To log out of the pe-postgres user, run: logout