Overview and requirements
PuppetDB collects data generated by PuppetĀ®. It enables advanced Puppet features like exported resources, and can be the foundation for other applications that use Puppet's data.
On this page:
Install it now
To start using PuppetDB today:
- Review the system requirements below (and optionally, our scaling recommendations).
- Install from packages on our recommended platforms
Version note
This documentation covers PuppetDB 9, which adds new features and has some breaking changes since PuppetDB 8.
See the release notes for information on all changes.
What data?
PuppetDB stores:
- The most recent facts from every node
- The most recent catalog for every node
- Optionally, 14 days (configurable) of event reports for every node
Together, these give you a huge inventory of metadata about every node in your infrastructure and a searchable database of every single resource being managed on any node.
Puppet itself can search a subset of this data using
exported resources, which allow nodes to manage resources on other
nodes. This is similar to the capabilities of the legacy ActiveRecord
storeconfigs interface, but much, much faster. The remaining data is available
through PuppetDB's query APIs (see the navigation sidebar for details).
System requirements
*nix server with JVM 11+
Java 17 is recommended, but Java 11 is also supported.
Standard installation: RHEL, CentOS, Debian, and Ubuntu
Puppet provides PuppetDB packages for the following operating systems:
- Amazon Linux 2023
- Debian 13 (Trixie)
- Red Hat Enterprise Linux (RHEL) 8, 9, and 10
- SuSE Enterprise Linux 12, 15
- Ubuntu 22.04 (Jammy) LTS, and 24.04 (Noble) LTS
Install PuppetDB from OS packages.
Puppet 8.0.0
Your site's Puppet Server must be running Puppet Server 8.0.0 or later. You will need to connect your Puppet Servers to PuppetDB after installing it. If you want to use PuppetDB with standalone nodes that are running puppet apply, every node must be running 8.0.0 or later.
PostgreSQL 14
Use PostgreSQL 14 or later to take advantage of new features in PuppetDB.
PuppetDB requires PostgreSQL 11 or later. If not provided by your distribution, compatible versions of PostgreSQL can be installed from the PGDG (PostgreSQL Global Development Group) repositories. See apt.postgresql.org or yum.postgresql.org for more information.
Robust hardware
PuppetDB is a critical component of your Puppet deployment and should be run on a robust and reliable server.
However, PuppetDB can do a lot with fairly modest hardware. In benchmarks using real-world catalogs from a customer, a single 2012 laptop (16 GB of RAM, consumer-grade SSD, and quad-core processor) running PuppetDB and PostgreSQL was able to keep up with sustained input from 8,000 simulated Puppet nodes checking in every 30 minutes. Powerful server-grade hardware performs even better.
The actual requirements vary wildly depending on your site's size and characteristics. At small sites, you might even be able to run PuppetDB on your Puppet Server.
For more on fitting PuppetDB to your site, see our scaling recommendations.






