X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fpostgresql%2Fmanifests%2Fdatabase.pp;fp=3rdparty%2Fmodules%2Fpostgresql%2Fmanifests%2Fdatabase.pp;h=0000000000000000000000000000000000000000;hb=a69999e580f8b3abd12446c2d6ad59e517651813;hp=fd272f40a48c17e0103699d14515abeada698dd3;hpb=e7b6b352165009c385c52fcfe5a1055690dbfa4b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/postgresql/manifests/database.pp b/3rdparty/modules/postgresql/manifests/database.pp deleted file mode 100644 index fd272f40a..000000000 --- a/3rdparty/modules/postgresql/manifests/database.pp +++ /dev/null @@ -1,85 +0,0 @@ -# puppet-postgresql -# For all details and documentation: -# http://github.com/inkling/puppet-postgresql -# -# Copyright 2012- Inkling Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# TODO: in order to match up more closely with the mysql module, this probably -# needs to be moved over to ruby, and add support for ensurable. - -define postgresql::database( - $dbname = $title, - $owner = $postgresql::params::user, - $tablespace = undef, - $charset = $postgresql::params::charset, - $locale = $postgresql::params::locale, - $istemplate = false -) { - include postgresql::params - - # Set the defaults for the postgresql_psql resource - Postgresql_psql { - psql_user => $postgresql::params::user, - psql_group => $postgresql::params::group, - psql_path => $postgresql::params::psql_path, - } - - # Optionally set the locale switch. Older versions of createdb may not accept - # --locale, so if the parameter is undefined its safer not to pass it. - if ($postgresql::params::version != '8.1') { - $locale_option = $locale ? { - undef => '', - default => "--locale=${locale}", - } - $public_revoke_privilege = 'CONNECT' - } else { - $locale_option = '' - $public_revoke_privilege = 'ALL' - } - - $createdb_command_tmp = "${postgresql::params::createdb_path} --owner='${owner}' --template=template0 --encoding '${charset}' ${locale_option} '${dbname}'" - - if($tablespace == undef) { - $createdb_command = $createdb_command_tmp - } - else { - $createdb_command = "${createdb_command_tmp} --tablespace='${tablespace}'" - } - - postgresql_psql { "Check for existence of db '${dbname}'": - command => 'SELECT 1', - unless => "SELECT datname FROM pg_database WHERE datname='${dbname}'", - require => Class['postgresql::server'] - } ~> - - exec { $createdb_command : - refreshonly => true, - user => $postgresql::params::user, - logoutput => on_failure, - } ~> - - # This will prevent users from connecting to the database unless they've been - # granted privileges. - postgresql_psql {"REVOKE ${public_revoke_privilege} ON DATABASE \"${dbname}\" FROM public": - db => $postgresql::params::user, - refreshonly => true, - } - - Exec [ $createdb_command ] -> - - postgresql_psql {"UPDATE pg_database SET datistemplate = ${istemplate} WHERE datname = '${dbname}'": - unless => "SELECT datname FROM pg_database WHERE datname = '${dbname}' AND datistemplate = ${istemplate}", - } -}