Add actual postgresl module from puppetlabs
[mirror/dsa-puppet.git] / 3rdparty / modules / postgresql / examples / postgresql_tablespace.pp
diff --git a/3rdparty/modules/postgresql/examples/postgresql_tablespace.pp b/3rdparty/modules/postgresql/examples/postgresql_tablespace.pp
new file mode 100644 (file)
index 0000000..9629410
--- /dev/null
@@ -0,0 +1,73 @@
+class { 'postgresql::server':
+    config_hash => {
+        'ip_mask_deny_postgres_user' => '0.0.0.0/32',
+        'ip_mask_allow_all_users'    => '0.0.0.0/0',
+        'listen_addresses'           => '*',
+        'manage_redhat_firewall'     => true,
+        'postgres_password'          => 'postgres',
+    },
+}
+
+file { '/tmp':
+  ensure => 'directory',
+}
+file { '/tmp/pg_tablespaces':
+  ensure  => 'directory',
+  owner   => 'postgres',
+  group   => 'postgres',
+  mode    => '0700',
+  require => File['/tmp'],
+}
+
+postgresql::tablespace{ 'tablespace1':
+  location => '/tmp/pg_tablespaces/space1',
+  require => [Class['postgresql::server'], File['/tmp/pg_tablespaces']],
+}
+postgresql::database{ 'tablespacedb1':
+  # TODO: ensure not yet supported
+  #ensure  => present,
+  charset => 'utf8',
+  require => Class['postgresql::server'],
+}
+postgresql::database{ 'tablespacedb2':
+  # TODO: ensure not yet supported
+  #ensure  => present,
+  charset => 'utf8',
+  tablespace => 'tablespace1',
+  require => Postgresql::Tablespace['tablespace1'],
+}
+postgresql::db{ 'tablespacedb3':
+  # TODO: ensure not yet supported
+  #ensure  => present,
+  user => 'dbuser1',
+  password => 'dbuser1',
+  require => Class['postgresql::server'],
+}
+postgresql::db{ 'tablespacedb4':
+  # TODO: ensure not yet supported
+  #ensure  => present,
+  user => 'dbuser2',
+  password => 'dbuser2',
+  tablespace => 'tablespace1',
+  require => Postgresql::Tablespace['tablespace1'],
+}
+
+postgresql::database_user{ 'spcuser':
+  # TODO: ensure is not yet supported
+  #ensure        => present,
+  password_hash => postgresql_password('spcuser', 'spcuser'),
+  require       => Class['postgresql::server'],
+}
+postgresql::tablespace{ 'tablespace2':
+  location => '/tmp/pg_tablespaces/space2',
+  owner => 'spcuser',
+  require => [Postgresql::Database_user['spcuser'], File['/tmp/pg_tablespaces']],
+}
+postgresql::database{ 'tablespacedb5':
+  # TODO: ensure not yet supported
+  #ensure  => present,
+  charset => 'utf8',
+  tablespace => 'tablespace2',
+  require => Postgresql::Tablespace['tablespace2'],
+}
+