No description, website, or topics provided.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 4 commits ahead, 17 commits behind CarePilot:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Puppet PostgreSQL Module

Module for configuring PostgreSQL.

Tested on Debian GNU/Linux 6.0 Squeeze and Ubuntu 10.4 LTS with Puppet 2.6. Patches for other operating systems welcome.


  • Ability to configure authentication settings.


Clone this repo to a postgresql directory under your Puppet modules directory:

git clone git:// postgresql

If you don't have a Puppet Master you can create a manifest file based on the notes below and run Puppet in stand-alone mode providing the module directory you cloned this repo to:

puppet apply --modulepath=modules test_postgresql.pp


To install and configure PostgreSQL, include the module:

include postgresql::server

You can override defaults in the PostgreSQL config by including the module with this special syntax:

class { "postgresql::server": version => "8.4",
                    listen_addresses => 'localhost',
                    max_connections => 100,
                    shared_buffers => '24MB',

If you need language specific PostgreSQL modules include their class:

include postgresql::python
include postgresql::ruby

Creating a database is done with the postgresql::database resource. If the owner does not exist it is created:

postgresql::database { "blog":
  owner => "bloguser",

Note that you'll need to define a global search path for the exec resource to make the postgresql::database resource function properly. This should ideally be placed in manifests/site.pp:

Exec {
  path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",