Troubleshooting the databases
Use these strategies to troubleshoot issues with the databases that support the console.
- The PostgreSQL database takes up too much space
- PostgreSQL buffer memory causes installation to fail
- Port conflicts, such as: The PuppetDB default port conflicts with another service
puppet applyconfiguration, for example: puppet resource generates Ruby errors after connecting puppet apply to PuppetDB.
- In unmanaged PostgreSQL installations, you are not on the latest supported version of PostgreSQL. For upgrade instructions, refer to Upgrade an unmanaged PostgreSQL installation.
The PostgreSQL database takes up too much space
autovacuum=on setting prevents the database from growing too large and
unwieldy. Routine vacuuming is enabled by default.
autovacuumis set to
PostgreSQL buffer memory causes installation to fail
When installing PE on machines with large amounts of RAM, the PostgreSQL database might try to use more shared buffer memory than is available.
/var/log/pe-postgresql/pgstartup.log) contains the following error:
FATAL: could not create shared memory segment: No space left on device DETAIL: Failed system call was shmget(key=5432001, size=34427584512,03600).
On the primary server, set the
shmmaxkernel setting to approximately 50% of the total RAM.
To get the value for the
shmallkernel setting, divide the value of the
shmmaxsetting by the page size. To confirm the page size, run:
Set the new kernel settings by running:
sysctl -w kernel.shmmax=<your shmmax calculation> sysctl -w kernel.shmall=<your shmall calculation>
The PuppetDB default port conflicts with another service
By default, PuppetDB communicates over port 8081. In some cases, this might conflict with other services, such as McAfee ePolicy Orchestrator.
puppet_enterprise::puppetdb_portparameter in the
puppetdb_portvalue is correct on the PE Infrastructure node group.
generates Ruby errors after connecting
puppet apply to PuppetDB
puppet apply is configured incorrectly, then
puppet resource ceases to function and returns a Ruby run error.
puppet applyconfiguration would be putting the
storeconfigs_backend = puppetdband
storeconfigs = trueparameters in both the
primary serversections of the
routes.yamlfile (located at
/etc/puppetlabs/puppet/routes.yaml) so that it correctly connects puppet apply without impacting other functions.