Skip to content

unless check in postgresql::server::instance::passwd does not respect custom database name (missing --dbname option) #1639

Open
@asusk7m550

Description

@asusk7m550

Describe the Bug

The unless command in postgresql::server::instance::passwd does not include the --dbname option when the database name differs from the user name. This can cause the check to run against the wrong database, potentially resulting in incorrect behavior when setting the postgres password.

Expected Behavior

The unless command should always connect to the intended database by including the --dbname option when necessary, just like the main command. This ensures the password check is performed against the correct database.

Steps to Reproduce

  1. Set up a PostgreSQL instance where the database name is different from the user name.
  2. Apply the Puppet manifest to set the postgres password.
  3. Observe that the unless check may not work as intended, causing the password to be reset unnecessarily or not at all.

Environment

  • Version: puppetlabs-postgresql v10.5.0
  • Platform: -

Additional Context

A patch is proposed to add ${_dboption} to the unless command, ensuring consistent database selection:

unless => "${shell_escape($psql_path)}${_dboption} -h localhost -p ${port} -c 'select 1' > /dev/null",

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions