Puppet Class: postgresql::server

Inherits:
postgresql::params
Defined in:
manifests/server.pp

Overview

This installs a PostgreSQL server. See README.md for more details.

Parameters:

  • postgres_password (Any) (defaults to: undef)
  • package_name (Any) (defaults to: $postgresql::params::server_package_name)
  • package_ensure (Any) (defaults to: $postgresql::params::package_ensure)
  • plperl_package_name (Any) (defaults to: $postgresql::params::plperl_package_name)
  • plpython_package_name (Any) (defaults to: $postgresql::params::plpython_package_name)
  • service_ensure (Any) (defaults to: $postgresql::params::service_ensure)
  • service_enable (Any) (defaults to: $postgresql::params::service_enable)
  • service_manage (Any) (defaults to: $postgresql::params::service_manage)
  • service_name (Any) (defaults to: $postgresql::params::service_name)
  • service_restart_on_change (Any) (defaults to: $postgresql::params::service_restart_on_change)
  • service_provider (Any) (defaults to: $postgresql::params::service_provider)
  • service_reload (Any) (defaults to: $postgresql::params::service_reload)
  • service_status (Any) (defaults to: $postgresql::params::service_status)
  • default_database (Any) (defaults to: $postgresql::params::default_database)
  • default_connect_settings (Any) (defaults to: $postgresql::globals::default_connect_settings)
  • listen_addresses (Any) (defaults to: $postgresql::params::listen_addresses)
  • port (Any) (defaults to: $postgresql::params::port)
  • ip_mask_deny_postgres_user (Any) (defaults to: $postgresql::params::ip_mask_deny_postgres_user)
  • ip_mask_allow_all_users (Any) (defaults to: $postgresql::params::ip_mask_allow_all_users)
  • ipv4acls (Any) (defaults to: $postgresql::params::ipv4acls)
  • ipv6acls (Any) (defaults to: $postgresql::params::ipv6acls)
  • initdb_path (Any) (defaults to: $postgresql::params::initdb_path)
  • createdb_path (Any) (defaults to: $postgresql::params::createdb_path)
  • psql_path (Any) (defaults to: $postgresql::params::psql_path)
  • pg_hba_conf_path (Any) (defaults to: $postgresql::params::pg_hba_conf_path)
  • pg_ident_conf_path (Any) (defaults to: $postgresql::params::pg_ident_conf_path)
  • postgresql_conf_path (Any) (defaults to: $postgresql::params::postgresql_conf_path)
  • recovery_conf_path (Any) (defaults to: $postgresql::params::recovery_conf_path)
  • datadir (Any) (defaults to: $postgresql::params::datadir)
  • xlogdir (Any) (defaults to: $postgresql::params::xlogdir)
  • logdir (Any) (defaults to: $postgresql::params::logdir)
  • log_line_prefix (Any) (defaults to: $postgresql::params::log_line_prefix)
  • pg_hba_conf_defaults (Any) (defaults to: $postgresql::params::pg_hba_conf_defaults)
  • user (Any) (defaults to: $postgresql::params::user)
  • group (Any) (defaults to: $postgresql::params::group)
  • needs_initdb (Any) (defaults to: $postgresql::params::needs_initdb)
  • encoding (Any) (defaults to: $postgresql::params::encoding)
  • locale (Any) (defaults to: $postgresql::params::locale)
  • data_checksums (Any) (defaults to: $postgresql::params::data_checksums)
  • timezone (Any) (defaults to: $postgresql::params::timezone)
  • manage_pg_hba_conf (Any) (defaults to: $postgresql::params::manage_pg_hba_conf)
  • manage_pg_ident_conf (Any) (defaults to: $postgresql::params::manage_pg_ident_conf)
  • manage_recovery_conf (Any) (defaults to: $postgresql::params::manage_recovery_conf)
  • module_workdir (Any) (defaults to: $postgresql::params::module_workdir)
  • roles (Hash[String, Hash]) (defaults to: {})
  • config_entries (Hash[String, Any]) (defaults to: {})
  • pg_hba_rules (Hash[String, Hash]) (defaults to: {})
  • version (Any) (defaults to: undef)


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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'manifests/server.pp', line 2

class postgresql::server (
  $postgres_password          = undef,

  $package_name               = $postgresql::params::server_package_name,
  $package_ensure             = $postgresql::params::package_ensure,

  $plperl_package_name        = $postgresql::params::plperl_package_name,
  $plpython_package_name      = $postgresql::params::plpython_package_name,

  $service_ensure             = $postgresql::params::service_ensure,
  $service_enable             = $postgresql::params::service_enable,
  $service_manage             = $postgresql::params::service_manage,
  $service_name               = $postgresql::params::service_name,
  $service_restart_on_change  = $postgresql::params::service_restart_on_change,
  $service_provider           = $postgresql::params::service_provider,
  $service_reload             = $postgresql::params::service_reload,
  $service_status             = $postgresql::params::service_status,
  $default_database           = $postgresql::params::default_database,
  $default_connect_settings   = $postgresql::globals::default_connect_settings,
  $listen_addresses           = $postgresql::params::listen_addresses,
  $port                       = $postgresql::params::port,
  $ip_mask_deny_postgres_user = $postgresql::params::ip_mask_deny_postgres_user,
  $ip_mask_allow_all_users    = $postgresql::params::ip_mask_allow_all_users,
  $ipv4acls                   = $postgresql::params::ipv4acls,
  $ipv6acls                   = $postgresql::params::ipv6acls,

  $initdb_path                = $postgresql::params::initdb_path,
  $createdb_path              = $postgresql::params::createdb_path,
  $psql_path                  = $postgresql::params::psql_path,
  $pg_hba_conf_path           = $postgresql::params::pg_hba_conf_path,
  $pg_ident_conf_path         = $postgresql::params::pg_ident_conf_path,
  $postgresql_conf_path       = $postgresql::params::postgresql_conf_path,
  $recovery_conf_path         = $postgresql::params::recovery_conf_path,

  $datadir                    = $postgresql::params::datadir,
  $xlogdir                    = $postgresql::params::xlogdir,
  $logdir                     = $postgresql::params::logdir,

  $log_line_prefix            = $postgresql::params::log_line_prefix,

  $pg_hba_conf_defaults       = $postgresql::params::pg_hba_conf_defaults,

  $user                       = $postgresql::params::user,
  $group                      = $postgresql::params::group,

  $needs_initdb               = $postgresql::params::needs_initdb,

  $encoding                   = $postgresql::params::encoding,
  $locale                     = $postgresql::params::locale,
  $data_checksums             = $postgresql::params::data_checksums,
  $timezone                   = $postgresql::params::timezone,

  $manage_pg_hba_conf         = $postgresql::params::manage_pg_hba_conf,
  $manage_pg_ident_conf       = $postgresql::params::manage_pg_ident_conf,
  $manage_recovery_conf       = $postgresql::params::manage_recovery_conf,
  $module_workdir             = $postgresql::params::module_workdir,

  Hash[String, Hash] $roles         = {},
  Hash[String, Any] $config_entries = {},
  Hash[String, Hash] $pg_hba_rules  = {},

  #Deprecated
  $version                    = undef,
) inherits postgresql::params {
  $pg = 'postgresql::server'

  if $version != undef {
    warning('Passing "version" to postgresql::server is deprecated; please use postgresql::globals instead.')
    $_version = $version
  } else {
    $_version = $postgresql::params::version
  }

  if $createdb_path != undef{
    warning('Passing "createdb_path" to postgresql::server is deprecated, it can be removed safely for the same behaviour')
  }

  # Reload has its own ordering, specified by other defines
  class { "${pg}::reload": require => Class["${pg}::install"] }

  contain postgresql::server::install
  contain postgresql::server::initdb
  contain postgresql::server::config
  contain postgresql::server::service
  contain postgresql::server::passwd

  Class['postgresql::server::install']
  -> Class['postgresql::server::initdb']
  -> Class['postgresql::server::config']
  -> Class['postgresql::server::service']
  -> Class['postgresql::server::passwd']

  $roles.each |$rolename, $role| {
    postgresql::server::role { $rolename:
      * => $role,
    }
  }

  $config_entries.each |$entry, $value| {
    postgresql::server::config_entry { $entry:
      value => $value,
    }
  }

  $pg_hba_rules.each |$rule_name, $rule| {
    postgresql::server::pg_hba_rule { $rule_name:
      * => $rule,
    }
  }
}