123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- # Class: postgresql::server
- #
- # == Class: postgresql::server
- # Manages the installation of the postgresql server. manages the package and
- # service.
- #
- # === Parameters:
- # [*package_name*] - name of package
- # [*service_name*] - name of service
- #
- # Configuration:
- # Advanced configuration setting parameters can be placed into 'postgresql_puppet_extras.conf' (located in the same
- # folder as 'postgresql.conf'). You can manage that file as a normal puppet file resource, or however you see fit;
- # which gives you complete control over the settings. Any value you specify in that file will override any existing
- # value set in the templated version.
- #
- # Actions:
- #
- # Requires:
- #
- # Sample Usage:
- #
- class postgresql::server (
- $ensure = 'present',
- $package_name = $postgresql::params::server_package_name,
- $package_ensure = 'present',
- $service_name = $postgresql::params::service_name,
- $service_provider = $postgresql::params::service_provider,
- $service_status = $postgresql::params::service_status,
- $config_hash = {},
- $datadir = $postgresql::params::datadir
- ) inherits postgresql::params {
- if ($ensure == 'absent') {
- service { 'postgresqld':
- ensure => stopped,
- name => $service_name,
- enable => false,
- provider => $service_provider,
- hasstatus => true,
- status => $service_status,
- }->
- package { 'postgresql-server':
- ensure => purged,
- name => $package_name,
- tag => 'postgresql',
- }->
- file { $datadir:
- ensure => absent,
- recurse => true,
- force => true,
- }
- } else {
- package { 'postgresql-server':
- ensure => $package_ensure,
- name => $package_name,
- tag => 'postgresql',
- }
- $config_class = {
- 'postgresql::config' => $config_hash,
- }
- create_resources( 'class', $config_class )
- service { 'postgresqld':
- ensure => running,
- name => $service_name,
- enable => true,
- require => Package['postgresql-server'],
- provider => $service_provider,
- hasstatus => true,
- status => $service_status,
- }
- if ($postgresql::params::needs_initdb) {
- include postgresql::initdb
- Package['postgresql-server'] -> Class['postgresql::initdb'] -> Class['postgresql::config'] -> Service['postgresqld']
- }
- else {
- Package['postgresql-server'] -> Class['postgresql::config'] -> Service['postgresqld']
- }
- exec { 'reload_postgresql':
- path => '/usr/bin:/usr/sbin:/bin:/sbin',
- command => "service ${service_name} reload",
- onlyif => $service_status,
- refreshonly => true,
- }
- }
- }
|