Troubleshooting the databases
Use these strategies to troubleshoot issues with the databases that support the console.
Common issues include:
- 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.
Verify that
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.
If this issue is present, the
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).
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.
Install PuppetDB in text mode with the
non-default port specified on the
puppet_enterprise::puppetdb_port
parameter in the
pe.conf
file.
What to do next
After installation, make sure the 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.
You need to modify the
routes.yaml
file
(located at /etc/puppetlabs/puppet/routes.yaml
) so that it
correctly connects puppet apply without impacting other
functions.