include container::contained
include container::no_ssh
+ exec { 'backup installed':
+ before => Package['postgresql'],
+ notify => Exec['backup permissions corrected'],
+ command => '! [ -f /var/lib/postgresql/9.6/main/PG_VERSION ] && mkdir -p /var/lib/postgresql/9.6/main && tar xzf /var/lib/postgresql/pg_base.tar.gz -C /var/lib/postgresql/9.6/main',
+ onlyif => '[ -f /var/lib/postgresql/pg_base.tar.gz ]',
+ provider => 'shell'
+ }
package{ 'postgresql':
ensure => 'installed',
install_options => ['--no-install-recommends'],
- }
-
+ }->
class { 'postgresql::globals':
version => '9.6',
}->
class { 'postgresql::server':
listen_addresses => '*',
- } ->
+ }
+ exec { 'backup permissions corrected':
+ require => Class['postgresql::server::install'],
+ before => Class['postgresql::server::initdb'],
+ command => 'chown -R postgres:postgres /var/lib/postgresql && rm /var/lib/postgresql/pg_base.tar.gz',
+ onlyif => '[ -f /var/lib/postgresql/pg_base.tar.gz ]',
+ refreshonly => 'true',
+ provider => 'shell'
+ }
postgresql::server::db { 'gigi':
require => Package['postgresql'],
user => 'gigi',
}
postgresql::server::db { 'quiz':
- require => Class['postgresql::server'],
+ require => Exec['backup installed'],
user => 'quiz',
password => postgresql_password('quiz', $passwords[postgres][quiz]),
}
value => 'on'
}
file{'/var/lib/postgresql/archive/':
+ require => Exec['backup permissions corrected'],
ensure => 'directory',
owner => 'postgres'
} ->
target => '/etc/postgresql/9.6/main/postgresql.conf',
value => 'replica'
}
+ postgresql_conf{'max_wal_senders':
+ target => '/etc/postgresql/9.6/main/postgresql.conf',
+ value => '2'
+ }
}