Skip to content

Commit 3152372

Browse files
patch postgres_psql calls,add instance parameter
* add other missing parameters * add missing documentation
1 parent 1dcead6 commit 3152372

12 files changed

+135
-13
lines changed

REFERENCE.md

+90
Original file line numberDiff line numberDiff line change
@@ -1585,6 +1585,7 @@ The following parameters are available in the `postgresql::server::database` def
15851585
* [`encoding`](#-postgresql--server--database--encoding)
15861586
* [`locale`](#-postgresql--server--database--locale)
15871587
* [`istemplate`](#-postgresql--server--database--istemplate)
1588+
* [`instance`](#-postgresql--server--database--instance)
15881589
* [`connect_settings`](#-postgresql--server--database--connect_settings)
15891590
* [`psql_path`](#-postgresql--server--database--psql_path)
15901591
* [`default_db`](#-postgresql--server--database--default_db)
@@ -1656,6 +1657,14 @@ Defines the database as a template if set to true.
16561657

16571658
Default value: `false`
16581659

1660+
##### <a name="-postgresql--server--database--instance"></a>`instance`
1661+
1662+
Data type: `String[1]`
1663+
1664+
The name of the Postgresql database instance.
1665+
1666+
Default value: `'main'`
1667+
16591668
##### <a name="-postgresql--server--database--connect_settings"></a>`connect_settings`
16601669

16611670
Data type: `Hash`
@@ -1810,6 +1819,7 @@ The following parameters are available in the `postgresql::server::db` defined t
18101819
* [`port`](#-postgresql--server--db--port)
18111820
* [`psql_user`](#-postgresql--server--db--psql_user)
18121821
* [`psql_group`](#-postgresql--server--db--psql_group)
1822+
* [`instance`](#-postgresql--server--db--instance)
18131823

18141824
##### <a name="-postgresql--server--db--user"></a>`user`
18151825

@@ -1921,6 +1931,14 @@ Overrides the default PostgreSQL user group to be used for related files in the
19211931

19221932
Default value: `$postgresql::server::group`
19231933

1934+
##### <a name="-postgresql--server--db--instance"></a>`instance`
1935+
1936+
Data type: `String[1]`
1937+
1938+
The name of the Postgresql database instance.
1939+
1940+
Default value: `'main'`
1941+
19241942
### <a name="postgresql--server--default_privileges"></a>`postgresql::server::default_privileges`
19251943

19261944
Manage a database defaults privileges. Only works with PostgreSQL version 9.6 and above.
@@ -1941,6 +1959,7 @@ The following parameters are available in the `postgresql::server::default_privi
19411959
* [`psql_path`](#-postgresql--server--default_privileges--psql_path)
19421960
* [`port`](#-postgresql--server--default_privileges--port)
19431961
* [`connect_settings`](#-postgresql--server--default_privileges--connect_settings)
1962+
* [`instance`](#-postgresql--server--default_privileges--instance)
19441963
* [`group`](#-postgresql--server--default_privileges--group)
19451964

19461965
##### <a name="-postgresql--server--default_privileges--target_role"></a>`target_role`
@@ -2042,6 +2061,14 @@ Specifies a hash of environment variables used when connecting to a remote serve
20422061

20432062
Default value: `$postgresql::server::default_connect_settings`
20442063

2064+
##### <a name="-postgresql--server--default_privileges--instance"></a>`instance`
2065+
2066+
Data type: `String[1]`
2067+
2068+
The name of the Postgresql database instance.
2069+
2070+
Default value: `'main'`
2071+
20452072
##### <a name="-postgresql--server--default_privileges--group"></a>`group`
20462073

20472074
Data type: `String`
@@ -2068,6 +2095,7 @@ The following parameters are available in the `postgresql::server::extension` de
20682095
* [`port`](#-postgresql--server--extension--port)
20692096
* [`connect_settings`](#-postgresql--server--extension--connect_settings)
20702097
* [`database_resource_name`](#-postgresql--server--extension--database_resource_name)
2098+
* [`instance`](#-postgresql--server--extension--instance)
20712099
* [`psql_path`](#-postgresql--server--extension--psql_path)
20722100
* [`user`](#-postgresql--server--extension--user)
20732101
* [`group`](#-postgresql--server--extension--group)
@@ -2158,6 +2186,14 @@ Specifies the resource name of the DB being managed. Defaults to the parameter $
21582186

21592187
Default value: `$database`
21602188

2189+
##### <a name="-postgresql--server--extension--instance"></a>`instance`
2190+
2191+
Data type: `String[1]`
2192+
2193+
The name of the Postgresql database instance.
2194+
2195+
Default value: `'main'`
2196+
21612197
##### <a name="-postgresql--server--extension--psql_path"></a>`psql_path`
21622198

21632199
Data type: `Stdlib::Absolutepath`
@@ -2204,6 +2240,7 @@ The following parameters are available in the `postgresql::server::grant` define
22042240
* [`ensure`](#-postgresql--server--grant--ensure)
22052241
* [`group`](#-postgresql--server--grant--group)
22062242
* [`psql_path`](#-postgresql--server--grant--psql_path)
2243+
* [`instance`](#-postgresql--server--grant--instance)
22072244

22082245
##### <a name="-postgresql--server--grant--role"></a>`role`
22092246

@@ -2333,6 +2370,14 @@ Sets the path to psql command
23332370

23342371
Default value: `$postgresql::server::psql_path`
23352372

2373+
##### <a name="-postgresql--server--grant--instance"></a>`instance`
2374+
2375+
Data type: `String[1]`
2376+
2377+
The name of the Postgresql database instance.
2378+
2379+
Default value: `'main'`
2380+
23362381
### <a name="postgresql--server--grant_role"></a>`postgresql::server::grant_role`
23372382

23382383
Define for granting membership to a role.
@@ -2348,6 +2393,7 @@ The following parameters are available in the `postgresql::server::grant_role` d
23482393
* [`psql_user`](#-postgresql--server--grant_role--psql_user)
23492394
* [`port`](#-postgresql--server--grant_role--port)
23502395
* [`connect_settings`](#-postgresql--server--grant_role--connect_settings)
2396+
* [`instance`](#-postgresql--server--grant_role--instance)
23512397

23522398
##### <a name="-postgresql--server--grant_role--group"></a>`group`
23532399

@@ -2403,6 +2449,14 @@ Specifies a hash of environment variables used when connecting to a remote serve
24032449

24042450
Default value: `$postgresql::server::default_connect_settings`
24052451

2452+
##### <a name="-postgresql--server--grant_role--instance"></a>`instance`
2453+
2454+
Data type: `String[1]`
2455+
2456+
The name of the Postgresql database instance.
2457+
2458+
Default value: `'main'`
2459+
24062460
### <a name="postgresql--server--instance--config"></a>`postgresql::server::instance::config`
24072461

24082462
Manages the config for a postgresql::server instance
@@ -3340,6 +3394,7 @@ The following parameters are available in the `postgresql::server::reassign_owne
33403394
* [`connect_settings`](#-postgresql--server--reassign_owned_by--connect_settings)
33413395
* [`group`](#-postgresql--server--reassign_owned_by--group)
33423396
* [`psql_path`](#-postgresql--server--reassign_owned_by--psql_path)
3397+
* [`instance`](#-postgresql--server--reassign_owned_by--instance)
33433398

33443399
##### <a name="-postgresql--server--reassign_owned_by--old_role"></a>`old_role`
33453400

@@ -3399,6 +3454,14 @@ Sets the path to psql command
33993454

34003455
Default value: `$postgresql::server::psql_path`
34013456

3457+
##### <a name="-postgresql--server--reassign_owned_by--instance"></a>`instance`
3458+
3459+
Data type: `String[1]`
3460+
3461+
The name of the Postgresql database instance.
3462+
3463+
Default value: `'main'`
3464+
34023465
### <a name="postgresql--server--recovery"></a>`postgresql::server::recovery`
34033466

34043467
This resource manages the parameters that applies to the recovery.conf template.
@@ -3588,6 +3651,7 @@ The following parameters are available in the `postgresql::server::role` defined
35883651
* [`module_workdir`](#-postgresql--server--role--module_workdir)
35893652
* [`hash`](#-postgresql--server--role--hash)
35903653
* [`salt`](#-postgresql--server--role--salt)
3654+
* [`instance`](#-postgresql--server--role--instance)
35913655

35923656
##### <a name="-postgresql--server--role--update_password"></a>`update_password`
35933657

@@ -3750,6 +3814,14 @@ Specify the salt use for the scram-sha-256 encoding password (default username)
37503814

37513815
Default value: `undef`
37523816

3817+
##### <a name="-postgresql--server--role--instance"></a>`instance`
3818+
3819+
Data type: `String[1]`
3820+
3821+
The name of the Postgresql database instance.
3822+
3823+
Default value: `'main'`
3824+
37533825
### <a name="postgresql--server--schema"></a>`postgresql::server::schema`
37543826

37553827
Create a new schema.
@@ -3779,6 +3851,7 @@ The following parameters are available in the `postgresql::server::schema` defin
37793851
* [`group`](#-postgresql--server--schema--group)
37803852
* [`psql_path`](#-postgresql--server--schema--psql_path)
37813853
* [`module_workdir`](#-postgresql--server--schema--module_workdir)
3854+
* [`instance`](#-postgresql--server--schema--instance)
37823855

37833856
##### <a name="-postgresql--server--schema--db"></a>`db`
37843857

@@ -3853,6 +3926,14 @@ May need to specify if '/tmp' is on volume mounted with noexec option.
38533926

38543927
Default value: `$postgresql::server::module_workdir`
38553928

3929+
##### <a name="-postgresql--server--schema--instance"></a>`instance`
3930+
3931+
Data type: `String[1]`
3932+
3933+
The name of the Postgresql database instance.
3934+
3935+
Default value: `'main'`
3936+
38563937
### <a name="postgresql--server--table_grant"></a>`postgresql::server::table_grant`
38573938

38583939
This resource wraps the grant resource to manage table grants specifically.
@@ -3968,6 +4049,7 @@ The following parameters are available in the `postgresql::server::tablespace` d
39684049
* [`group`](#-postgresql--server--tablespace--group)
39694050
* [`psql_path`](#-postgresql--server--tablespace--psql_path)
39704051
* [`module_workdir`](#-postgresql--server--tablespace--module_workdir)
4052+
* [`instance`](#-postgresql--server--tablespace--instance)
39714053

39724054
##### <a name="-postgresql--server--tablespace--location"></a>`location`
39734055

@@ -4048,6 +4130,14 @@ May need to specify if '/tmp' is on volume mounted with noexec option.
40484130

40494131
Default value: `$postgresql::server::module_workdir`
40504132

4133+
##### <a name="-postgresql--server--tablespace--instance"></a>`instance`
4134+
4135+
Data type: `String[1]`
4136+
4137+
The name of the Postgresql database instance.
4138+
4139+
Default value: `'main'`
4140+
40514141
### <a name="postgresql--server_instance"></a>`postgresql::server_instance`
40524142

40534143
define to install and manage additional postgresql instances

manifests/server/database.pp

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
# @param encoding Overrides the character set during creation of the database.
99
# @param locale Overrides the locale during creation of the database.
1010
# @param istemplate Defines the database as a template if set to true.
11+
# @param instance The name of the Postgresql database instance.
1112
# @param connect_settings Specifies a hash of environment variables used when connecting to a remote server.
1213
# @param psql_path Specifies the path to the psql command.
1314
# @param default_db Specifies the name of the default database to connect with. On most systems this is 'postgres'.
@@ -23,6 +24,7 @@
2324
Optional[String[1]] $encoding = $postgresql::server::encoding,
2425
Optional[String[1]] $locale = $postgresql::server::locale,
2526
Boolean $istemplate = false,
27+
String[1] $instance = 'main',
2628
Hash $connect_settings = $postgresql::server::default_connect_settings,
2729
String[1] $user = $postgresql::server::user,
2830
String[1] $group = $postgresql::server::group,
@@ -41,6 +43,7 @@
4143
psql_path => $psql_path,
4244
port => $port_override,
4345
connect_settings => $connect_settings,
46+
instance => $instance,
4447
}
4548

4649
# Optionally set the locale switch. Older versions of createdb may not accept

manifests/server/db.pp

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# @param port Specifies the port where the PostgreSQL server is listening on.
1515
# @param psql_user Overrides the default PostgreSQL super user and owner of PostgreSQL related files in the file system.
1616
# @param psql_group Overrides the default PostgreSQL user group to be used for related files in the file system.
17+
# @param instance The name of the Postgresql database instance.
1718
define postgresql::server::db (
1819
String[1] $user,
1920
Optional[Variant[String, Sensitive[String]]] $password = undef,
@@ -29,6 +30,7 @@
2930
Optional[Stdlib::Port] $port = undef,
3031
String[1] $psql_user = $postgresql::server::user,
3132
String[1] $psql_group = $postgresql::server::group,
33+
String[1] $instance = 'main',
3234
) {
3335
if ! defined(Postgresql::Server::Database[$dbname]) {
3436
postgresql::server::database { $dbname:

manifests/server/default_privileges.pp

+3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# @param psql_path Specifies the OS user for running psql. Default value: The default user for the module, usually 'postgres'.
1313
# @param port Specifies the port to access the server. Default value: The default user for the module, usually '5432'.
1414
# @param connect_settings Specifies a hash of environment variables used when connecting to a remote server.
15+
# @param instance The name of the Postgresql database instance.
1516
# @param group Specifies the user group to which the privileges will be granted.
1617
define postgresql::server::default_privileges (
1718
String $role,
@@ -34,6 +35,7 @@
3435
String $group = $postgresql::server::group,
3536
Stdlib::Absolutepath $psql_path = $postgresql::server::psql_path,
3637
Optional[String] $target_role = undef,
38+
String[1] $instance = 'main',
3739
) {
3840
$version = pick($connect_settings['DBVERSION'],postgresql::default('version'))
3941
$port_override = pick($connect_settings['PGPORT'], $port)
@@ -160,6 +162,7 @@
160162
psql_path => $psql_path,
161163
unless => $unless_cmd,
162164
environment => 'PGOPTIONS=--client-min-messages=error',
165+
instance => $instance,
163166
}
164167

165168
if defined(Postgresql::Server::Role[$role]) {

manifests/server/extension.pp

+5
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
# @param port Port to use when connecting.
2222
# @param connect_settings Specifies a hash of environment variables used when connecting to a remote server.
2323
# @param database_resource_name Specifies the resource name of the DB being managed. Defaults to the parameter $database, if left blank.
24+
# @param instance The name of the Postgresql database instance.
2425
# @param psql_path Specifies the path to the psql command.
2526
# @param user Overrides the default PostgreSQL super user and owner of PostgreSQL related files in the file system.
2627
# @param group Overrides the default postgres user group to be used for related files in the file system.
@@ -35,6 +36,7 @@
3536
Stdlib::Port $port = postgresql::default('port'),
3637
Hash $connect_settings = postgresql::default('default_connect_settings'),
3738
String[1] $database_resource_name = $database,
39+
String[1] $instance = 'main',
3840
String[1] $user = postgresql::default('user'),
3941
String[1] $group = postgresql::default('group'),
4042
Stdlib::Absolutepath $psql_path = postgresql::default('psql_path'),
@@ -86,6 +88,7 @@
8688
db => $database,
8789
port => $port_override,
8890
command => $command,
91+
instance => $instance,
8992
unless => "SELECT 1 WHERE ${unless_mod}EXISTS (SELECT 1 FROM pg_extension WHERE extname = '${extension}')",
9093
require => $psql_cmd_require,
9194
before => $psql_cmd_before,
@@ -113,6 +116,7 @@
113116
connect_settings => $connect_settings,
114117
db => $database,
115118
port => $port_override,
119+
instance => $instance,
116120
require => Postgresql_psql["${database}: ${command}"],
117121
}
118122

@@ -146,6 +150,7 @@
146150
psql_path => $psql_path,
147151
connect_settings => $connect_settings,
148152
command => $alter_extension_sql,
153+
instance => $instance,
149154
unless => $update_unless,
150155
}
151156
}

manifests/server/grant.pp

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
# @param ensure Specifies whether to grant or revoke the privilege. Default is to grant the privilege. Valid values: 'present', 'absent'.
1919
# @param group Sets the OS group to run psql
2020
# @param psql_path Sets the path to psql command
21+
# @param instance The name of the Postgresql database instance.
2122
define postgresql::server::grant (
2223
String $role,
2324
String $db,
@@ -47,6 +48,7 @@
4748
Enum['present', 'absent'] $ensure = 'present',
4849
String $group = $postgresql::server::group,
4950
Stdlib::Absolutepath $psql_path = $postgresql::server::psql_path,
51+
String[1] $instance = 'main',
5052
) {
5153
case $ensure {
5254
default: {
@@ -470,6 +472,7 @@
470472
psql_user => $psql_user,
471473
psql_group => $group,
472474
psql_path => $psql_path,
475+
instance => $instance,
473476
unless => $_unless,
474477
onlyif => $_onlyif,
475478
}

manifests/server/grant_role.pp

+3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
# @param psql_user Sets the OS user to run psql.
88
# @param port Port to use when connecting.
99
# @param connect_settings Specifies a hash of environment variables used when connecting to a remote server.
10+
# @param instance The name of the Postgresql database instance.
1011
define postgresql::server::grant_role (
1112
String[1] $group,
1213
String[1] $role = $name,
1314
Enum['present', 'absent'] $ensure = 'present',
15+
String[1] $instance = 'main',
1416
String[1] $psql_db = $postgresql::server::default_database,
1517
String[1] $psql_user = $postgresql::server::user,
1618
Stdlib::Port $port = $postgresql::server::port,
@@ -36,6 +38,7 @@
3638
db => $psql_db,
3739
psql_user => $psql_user,
3840
port => $port,
41+
instance => $instance,
3942
connect_settings => $connect_settings,
4043
}
4144

manifests/server/instance/late_initdb.pp

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
psql_group => $group,
2626
psql_path => $psql_path,
2727
port => $port,
28+
instance => $name,
2829
cwd => $module_workdir,
2930
}
3031

0 commit comments

Comments
 (0)