|
32 | 32 | $group = postgresql::default('group')
|
33 | 33 | $psql_path = postgresql::default('psql_path')
|
34 | 34 |
|
| 35 | + if( $database != 'postgres' ) { |
| 36 | + # The database postgres cannot managed by this module, so it is exempt from this dependency |
| 37 | + $default_psql_require = Postgresql::Server::Database[$database_resource_name] |
| 38 | + |
| 39 | + Postgresql_psql { |
| 40 | + require => $default_psql_require, |
| 41 | + } |
| 42 | + } else { |
| 43 | + $default_psql_require = undef |
| 44 | + } |
| 45 | + |
35 | 46 | case $ensure {
|
36 | 47 | 'present': {
|
37 | 48 | $command = "CREATE EXTENSION \"${extension}\""
|
38 | 49 | $unless_mod = undef
|
39 |
| - $package_require = [] |
40 |
| - $package_before = Postgresql_psql["${database}: ${command}"] |
| 50 | + $psql_cmd_require = $package_name ? { |
| 51 | + undef => $default_psql_require, |
| 52 | + default => [$default_psql_require, Package[$package_name]], |
| 53 | + } |
| 54 | + $psql_cmd_before = [] |
41 | 55 | }
|
42 | 56 |
|
43 | 57 | 'absent': {
|
44 | 58 | $command = "DROP EXTENSION \"${extension}\""
|
45 | 59 | $unless_mod = 'NOT '
|
46 |
| - $package_require = Postgresql_psql["${database}: ${command}"] |
47 |
| - $package_before = [] |
| 60 | + $psql_cmd_require = $default_psql_require |
| 61 | + $psql_cmd_before = $package_name ? { |
| 62 | + undef => [], |
| 63 | + default => Package[$package_name], |
| 64 | + } |
48 | 65 | }
|
49 | 66 |
|
50 | 67 | default: {
|
51 | 68 | fail("Unknown value for ensure '${ensure}'.")
|
52 | 69 | }
|
53 | 70 | }
|
54 | 71 |
|
55 |
| - if( $database != 'postgres' ) { |
56 |
| - # The database postgres cannot managed by this module, so it is exempt from this dependency |
57 |
| - Postgresql_psql { |
58 |
| - require => Postgresql::Server::Database[$database_resource_name], |
59 |
| - } |
60 |
| - } |
61 |
| - |
62 | 72 | #
|
63 | 73 | # Port, order of precedence: $port parameter, $connect_settings[PGPORT], $postgresql::server::port
|
64 | 74 | #
|
|
81 | 91 | port => $port_override,
|
82 | 92 | command => $command,
|
83 | 93 | unless => "SELECT 1 WHERE ${unless_mod}EXISTS (SELECT 1 FROM pg_extension WHERE extname = '${extension}')",
|
| 94 | + require => $psql_cmd_require, |
| 95 | + before => $psql_cmd_before, |
84 | 96 | }
|
85 | 97 |
|
86 | 98 | if $ensure == 'present' and $schema {
|
|
120 | 132 | ensure_packages($package_name, {
|
121 | 133 | ensure => $_package_ensure,
|
122 | 134 | tag => 'puppetlabs-postgresql',
|
123 |
| - require => $package_require, |
124 |
| - before => $package_before, |
125 | 135 | })
|
126 | 136 | }
|
127 | 137 | if $version {
|
|
0 commit comments