aboutsummaryrefslogtreecommitdiffstats
path: root/modules/postgresql/manifests/database.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/postgresql/manifests/database.pp')
-rw-r--r--modules/postgresql/manifests/database.pp19
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,
+ }
+}