Troubleshooting the databases
Sections
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
- Incorrect
puppet apply
configuration, 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
The PostgreSQL
autovacuum=on
setting prevents the database from growing too large and
unwieldy. Routine vacuuming is enabled by default.
autovacuum
is set to
on
.
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
/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).
Copied!
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
pe.conf
file.
puppetdb_port
value is correct
on the PE Infrastructure node group.
puppet resource
generates Ruby errors after connecting puppet apply
to PuppetDB
If puppet apply
is configured incorrectly, then
puppet resource
ceases to function and returns a Ruby run error.
puppet apply
configuration would be putting the storeconfigs_backend = puppetdb
and
storeconfigs = true
parameters in both the main
and primary server
sections of the
puppet.conf
file.routes.yaml
file
(located at /etc/puppetlabs/puppet/routes.yaml
) so that it
correctly connects puppet apply without impacting other
functions.