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.
autovacuum is 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.
pgstartup.log (located at
contains the following
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_port parameter in the
puppetdb_port value 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.
configuration would be putting the
storeconfigs_backend = puppetdb and
storeconfigs = true parameters in both the
primary server sections of the
/etc/puppetlabs/puppet/routes.yaml) so that it
correctly connects puppet apply without impacting other