1 # This installs a PostgreSQL server. See README.md for more details.
2 class postgresql::server (
3 $postgres_password = undef,
5 $package_name = $postgresql::params::server_package_name,
6 $package_ensure = $postgresql::params::package_ensure,
8 $plperl_package_name = $postgresql::params::plperl_package_name,
9 $plpython_package_name = $postgresql::params::plpython_package_name,
11 $service_ensure = $postgresql::params::service_ensure,
12 $service_enable = $postgresql::params::service_enable,
13 $service_manage = $postgresql::params::service_manage,
14 $service_name = $postgresql::params::service_name,
15 $service_restart_on_change = $postgresql::params::service_restart_on_change,
16 $service_provider = $postgresql::params::service_provider,
17 $service_reload = $postgresql::params::service_reload,
18 $service_status = $postgresql::params::service_status,
19 $default_database = $postgresql::params::default_database,
20 $default_connect_settings = $postgresql::globals::default_connect_settings,
21 $listen_addresses = $postgresql::params::listen_addresses,
22 $port = $postgresql::params::port,
23 $ip_mask_deny_postgres_user = $postgresql::params::ip_mask_deny_postgres_user,
24 $ip_mask_allow_all_users = $postgresql::params::ip_mask_allow_all_users,
25 $ipv4acls = $postgresql::params::ipv4acls,
26 $ipv6acls = $postgresql::params::ipv6acls,
28 $initdb_path = $postgresql::params::initdb_path,
29 $createdb_path = $postgresql::params::createdb_path,
30 $psql_path = $postgresql::params::psql_path,
31 $pg_hba_conf_path = $postgresql::params::pg_hba_conf_path,
32 $pg_ident_conf_path = $postgresql::params::pg_ident_conf_path,
33 $postgresql_conf_path = $postgresql::params::postgresql_conf_path,
34 $recovery_conf_path = $postgresql::params::recovery_conf_path,
36 $datadir = $postgresql::params::datadir,
37 $xlogdir = $postgresql::params::xlogdir,
38 $logdir = $postgresql::params::logdir,
40 $log_line_prefix = $postgresql::params::log_line_prefix,
42 $pg_hba_conf_defaults = $postgresql::params::pg_hba_conf_defaults,
44 $user = $postgresql::params::user,
45 $group = $postgresql::params::group,
47 $needs_initdb = $postgresql::params::needs_initdb,
49 $encoding = $postgresql::params::encoding,
50 $locale = $postgresql::params::locale,
51 $data_checksums = $postgresql::params::data_checksums,
52 $timezone = $postgresql::params::timezone,
54 $manage_pg_hba_conf = $postgresql::params::manage_pg_hba_conf,
55 $manage_pg_ident_conf = $postgresql::params::manage_pg_ident_conf,
56 $manage_recovery_conf = $postgresql::params::manage_recovery_conf,
57 $module_workdir = $postgresql::params::module_workdir,
60 ) inherits postgresql::params {
61 $pg = 'postgresql::server'
63 if $version != undef {
64 warning('Passing "version" to postgresql::server is deprecated; please use postgresql::globals instead.')
67 $_version = $postgresql::params::version
70 if $createdb_path != undef{
71 warning('Passing "createdb_path" to postgresql::server is deprecated, it can be removed safely for the same behaviour')
74 # Reload has its own ordering, specified by other defines
75 class { "${pg}::reload": require => Class["${pg}::install"] }
77 anchor { "${pg}::start": }
78 -> class { "${pg}::install": }
79 -> class { "${pg}::initdb": }
80 -> class { "${pg}::config": }
81 -> class { "${pg}::service": }
82 -> class { "${pg}::passwd": }
83 -> anchor { "${pg}::end": }