Forge Home


the types and providers needed to manage all objects inside a Postgres database. Supports Postgres 9.4 and higher


211 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.0 (latest)
  • 0.11.0
  • 0.10.0
  • 0.9.1
  • 0.9.0
  • 0.8.1
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.3.1
  • 0.3.0
  • 0.2.0
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Jun 23rd 2023
This version is compatible with:
  • Puppet Enterprise 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x
  • Puppet >= 5.0.0 < 9.0.0
  • , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'enterprisemodules-pg_config', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add enterprisemodules-pg_config
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install enterprisemodules-pg_config --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



enterprisemodules/pg_config — version 1.0.0 Jun 23rd 2023

Enterprise Modules

Table of Contents


On the Puppet forge there are already some modules available that can help you install the postgres software on your system. Most of these modules, however, are missing facilities for you to create and configure databases.

The pg_config module is the missing link. This module extends the puppet language so that Puppet knows about Postgres and the things there are to manage inside of a Postgres database.

The module support Postgres 10,11,12,13,14 and 15

The module supports multiple instances of Postgres on a system.


This is a commercially licensed module. But you can use the module on VirtualBox based development systems for FREE. When used on real systems a license is required.

You can license our modules in multiple ways. Our basic licensing model requires a subscription per node. But contact us for details.

Check the License for details.


  • Create, manage and drop Postgres databases (pg_database)
  • Manage the parameter setting of a Postgres database (pg_parameter)
  • Create, manage and drop Postgres users and roles (pg_role)
  • Create, manage and drop Postgres tablespaces (pg_tablespaces)
  • Create, update, manage and drop Postgres schema definitions (pg_schema_definition)
  • Create, update, manage and drop (configuration) records in a Postgres table. (pg_record)
  • Create your own custom facts based on Postgres database content
  • An easy way to execute arbitrary SQL scripts with unless and only_if inhibitors to facilitate idempotence. (pg_exec)

Check the documentation here



The pg_config module requires:

  • Puppet module enterprisemodules-easy_type installed.
  • Puppet version 6.0 or higher. Can be Puppet Enterprise or Puppet Open Source
  • A valid Enterprise Modules license for usage.
  • Runs on most Linux systems.

Installing the pg_config module

To install these modules, you can use a Puppetfile

mod 'enterprisemodules/pg_config'               ,'x.x.x'

Then use the librarian-puppet or r10K to install the software.

You can also install the software using the puppet module command:

puppet module install enterprisemodules-pg_config


Building a total Postgre setup requires quite some work. To help you, we have built some examples. The repo contains a demonstration of a simple database installation and configuration.


Here you can find some more information regarding this puppet module:


This module runs on most Linux versions. It requires a puppet version 5 or higher. The module does NOT run on windows systems.