Defined Type: puppetmaster::database

Defined in:
manifests/database.pp

Overview

Parameters:

  • dbname (String)
  • username (String)
  • password (String)
  • extension_trgm (Boolean) (defaults to: false)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'manifests/database.pp', line 2

define puppetmaster::database
(
  String $dbname,
  String $username,
  String $password,
  Boolean $extension_trgm = false
)
{

  $contrib_package_name = 'postgresql96-contrib'
  $connection_limit     = '300'

  ::postgresql::server::role { $dbname:
    password_hash    => postgresql_password($username, $password),
    connection_limit => $connection_limit,
  }

  ::postgresql::server::database_grant { "Grant all to ${username}":
    privilege => 'ALL',
    db        => $dbname,
    role      => $username,
  }

  ::postgresql::server::db { $dbname:
    user     => $username,
    password => postgresql_password($username, $password),
  }

  if $extension_trgm {

    ::postgresql::server::extension { 'Add trgm':
      database     => $dbname,
      package_name => $contrib_package_name,
      extension    => 'pg_trgm',
      require      => Class['::postgresql::server']
    }
  }
}