Skip to content

postgresql::server::config_entry should allow the empty string for value parameter #1602

Open
@antaflos

Description

@antaflos

Describe the Bug

PostgreSQL supports and allows config entries, such as those in postgresql.conf, to be set to the empty string. The postgresql::server::config_entry defined type, however, requires String[1] when supplying string values. This doesn't allow for the empty string.

Expected Behavior

The postgresql::server::config_entry defined type should allow the empty string for its value parameter.

Steps to Reproduce

A typical use case is setting database-specific parameters that can be empty:

postgresql::server::config_entry { 'my_database.important_parameter':
  value => ''
}

This should render as follows in postgresql.conf, which is valid from PostgreSQL's PoV.

my_database.important_parameter = ''

However, the Puppet agent run fails with an error message:

Postgresql::Server::Config_entry[my_database.important_parameter]: parameter 'value' expects a value of type Undef, String[1], Numeric, or Array[String[1]], got String

This is because the empty string is not allowed here.

Environment

  • Version 10.3.0
  • Platform Ubuntu 20.04, 22.04

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions