Initial version of postgresql module.

This commit is contained in:
Timo Mkinen 2013-04-25 00:33:45 +03:00
parent 139a8ed808
commit 68d5b1ff1b

View file

@ -0,0 +1,79 @@
# Install PostgreSQL client
#
class postgresql::client {
package { "postgresql":
ensure => installed,
}
}
# Install PostgreSQL server
#
# === Parameters:
#
# $datadir:
# Data directory for databases.
#
class postgresql::server($datadir="/srv/pgsql") {
case $::operatingsystem {
"centos","redhat": {
file { "/etc/sysconfig/pgsql/postgresql":
ensure => present,
content => "PGDATA=/srv/pgsql\n",
mode => "0644",
owner => "root",
group => "root",
require => Package["postgresql-server"],
notify => Service["postgresql"],
}
}
default: {
fail("postgresql::server not supported in ${::operatingsystem}")
}
}
exec { "service postgresql initdb":
user => "root",
path => "/bin:/usr/bin:/sbin:/usr/sbin",
creates => "/srv/pgsql/postgresql.conf",
require => File["/srv/pgsql"],
before => Service["postgresql"],
}
if $datadir != "/srv/pgsql" {
file { $datadir:
ensure => directory,
mode => "0700",
owner => "postgres",
group => "postgres",
}
file { "/srv/pgsql":
ensure => link,
target => $datadir,
owner => "root",
group => "root",
require => File[$datadir],
}
} else {
file { "/srv/pgsql":
ensure => directory,
mode => "0700",
owner => "postgres",
group => "postgres",
}
}
package { "postgresql-server":
ensure => installed,
}
service { "postgresql":
ensure => running,
enable => true,
}
}