Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -892,6 +892,7 @@ The following parameters are available in the `postgresql::server` class:
* [`manage_datadir`](#-postgresql--server--manage_datadir)
* [`manage_logdir`](#-postgresql--server--manage_logdir)
* [`manage_xlogdir`](#-postgresql--server--manage_xlogdir)
* [`datadir_mode`](#-postgresql--server--datadir_mode)
* [`password_encryption`](#-postgresql--server--password_encryption)
* [`pg_hba_auth_password_encryption`](#-postgresql--server--pg_hba_auth_password_encryption)
* [`roles`](#-postgresql--server--roles)
Expand Down Expand Up @@ -1319,6 +1320,14 @@ Set to false if you have file{ $xlogdir: } already defined

Default value: `$postgresql::params::manage_xlogdir`

##### <a name="-postgresql--server--datadir_mode"></a>`datadir_mode`

Data type: `Stdlib::Filemode`

Overrides the default mode (permissions) of the PostgreSQL data directory.

Default value: `$postgresql::params::datadir_mode`

##### <a name="-postgresql--server--password_encryption"></a>`password_encryption`

Data type: `Postgresql::Pg_password_encryption`
Expand Down Expand Up @@ -2797,6 +2806,7 @@ The following parameters are available in the `postgresql::server::instance::ini
* [`auth_local`](#-postgresql--server--instance--initdb--auth_local)
* [`data_checksums`](#-postgresql--server--instance--initdb--data_checksums)
* [`datadir`](#-postgresql--server--instance--initdb--datadir)
* [`datadir_mode`](#-postgresql--server--instance--initdb--datadir_mode)
* [`encoding`](#-postgresql--server--instance--initdb--encoding)
* [`group`](#-postgresql--server--instance--initdb--group)
* [`initdb_path`](#-postgresql--server--instance--initdb--initdb_path)
Expand Down Expand Up @@ -2846,6 +2856,14 @@ PostgreSQL data directory

Default value: `$postgresql::server::datadir`

##### <a name="-postgresql--server--instance--initdb--datadir_mode"></a>`datadir_mode`

Data type: `Stdlib::Filemode`

Overrides the default mode (permissions) of the PostgreSQL data directory.

Default value: `$postgresql::server::datadir_mode`

##### <a name="-postgresql--server--instance--initdb--encoding"></a>`encoding`

Data type: `Optional[String[1]]`
Expand Down
1 change: 1 addition & 0 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
$manage_datadir = true
$manage_logdir = true
$manage_xlogdir = true
$datadir_mode = '0700'

$backup_enable = false
$backup_provider = 'pg_dump'
Expand Down
2 changes: 2 additions & 0 deletions manifests/server.pp
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
# @param manage_datadir Set to false if you have file{ $datadir: } already defined
# @param manage_logdir Set to false if you have file{ $logdir: } already defined
# @param manage_xlogdir Set to false if you have file{ $xlogdir: } already defined
# @param datadir_mode Overrides the default mode (permissions) of the PostgreSQL data directory.
# @param password_encryption Specify the type of encryption set for the password.
# @param pg_hba_auth_password_encryption
# Specify the type of encryption set for the password in pg_hba_conf,
Expand Down Expand Up @@ -181,6 +182,7 @@
Boolean $manage_datadir = $postgresql::params::manage_datadir,
Boolean $manage_logdir = $postgresql::params::manage_logdir,
Boolean $manage_xlogdir = $postgresql::params::manage_xlogdir,
Stdlib::Filemode $datadir_mode = $postgresql::params::datadir_mode,
Postgresql::Pg_password_encryption $password_encryption = $postgresql::params::password_encryption,
Optional[Postgresql::Pg_password_encryption] $pg_hba_auth_password_encryption = undef,
Optional[String] $extra_systemd_config = $postgresql::params::extra_systemd_config,
Expand Down
1 change: 1 addition & 0 deletions manifests/server/initdb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
auth_local => $postgresql::server::auth_local,
data_checksums => $postgresql::server::data_checksums,
datadir => $postgresql::server::datadir,
datadir_mode => $postgresql::server::datadir_mode,
encoding => $postgresql::server::encoding,
group => $postgresql::server::group,
initdb_path => $postgresql::server::initdb_path,
Expand Down
6 changes: 4 additions & 2 deletions manifests/server/instance/initdb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# @param auth_local auth method used by default for local authorization
# @param data_checksums Boolean. Use checksums on data pages to help detect corruption by the I/O system that would otherwise be silent.
# @param datadir PostgreSQL data directory
# @param datadir_mode Overrides the default mode (permissions) of the PostgreSQL data directory.
# @param encoding
# Sets the default encoding for all databases created with this module.
# On certain operating systems this is also used during the template1 initialization,
Expand Down Expand Up @@ -35,6 +36,7 @@
Optional[String[1]] $auth_local = $postgresql::server::auth_local,
Optional[Boolean] $data_checksums = $postgresql::server::data_checksums,
Stdlib::Absolutepath $datadir = $postgresql::server::datadir,
Stdlib::Filemode $datadir_mode = $postgresql::server::datadir_mode,
Optional[String[1]] $encoding = $postgresql::server::encoding,
String[1] $group = $postgresql::server::group,
Stdlib::Absolutepath $initdb_path = $postgresql::server::initdb_path,
Expand Down Expand Up @@ -66,7 +68,7 @@
ensure => directory,
owner => $user,
group => $group,
mode => '0700',
mode => $datadir_mode,
seltype => $seltype,
}
} else {
Expand All @@ -75,7 +77,7 @@
ensure => directory,
owner => $user,
group => $group,
mode => '0700',
mode => $datadir_mode,
seltype => $seltype,
}
}
Expand Down
14 changes: 13 additions & 1 deletion spec/classes/server/initdb_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,19 @@
describe 'on RedHat' do
include_examples 'RedHat 8'

it { is_expected.to contain_file('/var/lib/pgsql/data').with_ensure('directory') }
it { is_expected.to contain_file('/var/lib/pgsql/data').with_ensure('directory').with_mode('0700') }

context 'with datadir_mode set to 0750' do
let :pre_condition do
"
class {'postgresql::server':
datadir_mode => '0750',
}
"
end

it { is_expected.to contain_file('/var/lib/pgsql/data').with_ensure('directory').with_mode('0750') }
end

context 'with (log,manage,xlog)_datadir set to false' do
let :pre_condition do
Expand Down
Loading