diff options
Diffstat (limited to 'modules/postgresql/manifests/database.pp')
-rw-r--r-- | modules/postgresql/manifests/database.pp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/postgresql/manifests/database.pp b/modules/postgresql/manifests/database.pp new file mode 100644 index 00000000..82670b5e --- /dev/null +++ b/modules/postgresql/manifests/database.pp @@ -0,0 +1,19 @@ +# TODO convert it to a regular type ( so we can later change user and so on ) +define postgresql::database($description = '', + $user = 'postgres', + $callback_notify = '') { + + exec { "createdb -O $user -U postgres $name '$description'": + user => 'root', + unless => "psql -A -t -U postgres -l | grep '^$name|'", + require => Service['postgresql'], + } + + # this is fetched by the manifest asking the database creation, + # once the db have been created + # FIXME proper ordering ? + @@postgresql::database_callback { $name: + tag => $name, + callback_notify => $callback_notify, + } +} |