145 lines
5.7 KiB
Puppet
145 lines
5.7 KiB
Puppet
# == Class: postgresql
|
|
#
|
|
# This is a base class that can be used to modify catalog-wide settings relating
|
|
# to the various types in class contained in the postgresql module.
|
|
#
|
|
# If you don't declare this class in your catalog, sensible defaults will
|
|
# be used. However, if you choose to declare it, it needs to appear *before*
|
|
# any other types or classes from the postgresql module.
|
|
#
|
|
# For examples, see the files in the `tests` directory; in particular,
|
|
# `/server-yum-postgresql-org.pp`.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*version*]
|
|
# The postgresql version to install. If not specified, the
|
|
# module will use whatever version is the default for your
|
|
# OS distro.
|
|
# [*manage_package_repo*]
|
|
# This determines whether or not the module should
|
|
# attempt to manage the postgres package repository for your
|
|
# distro. Defaults to `false`, but if set to `true`, it can
|
|
# be used to set up the official postgres yum/apt package
|
|
# repositories for you.
|
|
# [*package_source*]
|
|
# This setting is only used if `manage_package_repo` is
|
|
# set to `true`. It determines which package repository should
|
|
# be used to install the postgres packages. Currently supported
|
|
# values include `yum.postgresql.org`.
|
|
# [*locale*]
|
|
# This setting defines the default locale for initdb and createdb
|
|
# commands. This default to 'undef' which is effectively 'C'.
|
|
# [*charset*]
|
|
# Sets the default charset to be used for initdb and createdb.
|
|
# Defaults to 'UTF8'.
|
|
# [*datadir*]
|
|
# This setting can be used to override the default postgresql
|
|
# data directory for the target platform. If not specified, the
|
|
# module will use whatever directory is the default for your
|
|
# OS distro.
|
|
# [*confdir*]
|
|
# This setting can be used to override the default postgresql
|
|
# configuration directory for the target platform. If not
|
|
# specified, the module will use whatever directory is the
|
|
# default for your OS distro.
|
|
# [*bindir*]
|
|
# This setting can be used to override the default postgresql
|
|
# binaries directory for the target platform. If not
|
|
# specified, the module will use whatever directory is the
|
|
# default for your OS distro.
|
|
# [*client_package_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql client package name. If not specified, the module
|
|
# will use whatever package name is the default for your
|
|
# OS distro.
|
|
# [*server_package_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql server package name. If not specified, the module
|
|
# will use whatever package name is the default for your
|
|
# OS distro.
|
|
# [*contrib_package_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql contrib package name. If not specified, the module
|
|
# will use whatever package name is the default for your
|
|
# OS distro.
|
|
# [*devel_package_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql devel package name. If not specified, the module
|
|
# will use whatever package name is the default for your
|
|
# OS distro.
|
|
# [*java_package_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql java package name. If not specified, the module
|
|
# will use whatever package name is the default for your
|
|
# OS distro.
|
|
# [*service_name*]
|
|
# This setting can be used to override the default
|
|
# postgresql service name. If not specified, the module
|
|
# will use whatever service name is the default for your
|
|
# OS distro.
|
|
# [*user*]
|
|
# This setting can be used to override the default
|
|
# postgresql super user and owner of postgresql related files
|
|
# in the file system. If not specified, the module will use
|
|
# the user name 'postgres'.
|
|
# [*group*]
|
|
# This setting can be used to override the default
|
|
# postgresql user group to be used for related files
|
|
# in the file system. If not specified, the module will use
|
|
# the group name 'postgres'.
|
|
# [*run_initdb*]
|
|
# This setting can be used to explicitly call the initdb
|
|
# operation after server package is installed and before
|
|
# the postgresql service is started. If not specified, the
|
|
# module will decide whether to call initdb or not depending
|
|
# on your OS distro.
|
|
#
|
|
# === Examples
|
|
#
|
|
# class { 'postgresql':
|
|
# version => '9.2',
|
|
# manage_package_repo => true,
|
|
# }
|
|
#
|
|
#
|
|
class postgresql (
|
|
$version = $::postgres_default_version,
|
|
$manage_package_repo = false,
|
|
$package_source = undef,
|
|
$locale = undef,
|
|
$charset = 'UTF8',
|
|
$datadir = undef,
|
|
$confdir = undef,
|
|
$bindir = undef,
|
|
$client_package_name = undef,
|
|
$server_package_name = undef,
|
|
$contrib_package_name = undef,
|
|
$devel_package_name = undef,
|
|
$java_package_name = undef,
|
|
$service_name = undef,
|
|
$user = undef,
|
|
$group = undef,
|
|
$run_initdb = undef
|
|
) {
|
|
|
|
class { 'postgresql::params':
|
|
version => $version,
|
|
manage_package_repo => $manage_package_repo,
|
|
package_source => $package_source,
|
|
locale => $locale,
|
|
charset => $charset,
|
|
custom_datadir => $datadir,
|
|
custom_confdir => $confdir,
|
|
custom_bindir => $bindir,
|
|
custom_client_package_name => $client_package_name,
|
|
custom_server_package_name => $server_package_name,
|
|
custom_contrib_package_name => $contrib_package_name,
|
|
custom_devel_package_name => $devel_package_name,
|
|
custom_java_package_name => $java_package_name,
|
|
custom_service_name => $service_name,
|
|
custom_user => $user,
|
|
custom_group => $group,
|
|
run_initdb => $run_initdb,
|
|
}
|
|
}
|