pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: nuko.yokohama@gmail.com
Subject: BUG #18685: .pgpass is not enabled when running pg_basebackup on PostgreSQL 17.
Date: Mon, 04 Nov 2024 07:58:08 +0000
Message-ID: <18685-fee2dd142b9688f1@postgresql.org> (raw)

The following bug has been logged on the website:

Bug reference:      18685
Logged by:          Toshi Harada
Email address:      nuko.yokohama@gmail.com
PostgreSQL version: 17.0
Operating system:   4.14.106-97.85.amzn2.x86_64
Description:        

Write the password for replication connection in the .pgpass file as
follows

$ cat ~/.pgpass
#hostname:port:database:username:password
127.0.0.1:16001:replication:repuser:repuser
127.0.0.1:17001:replication:repuser:repuser
$

In PostgreSQL 16, pg_basebackup could be run without prompting for a
password.

$ ~/pgsql/pgsql-16/bin/pg_basebackup -h 127.0.0.1 -p 16001 -U repuser -P -D
/tmp/bkup.dat
23638/23638 kB (100%), 1/1 tablespace
$

However, when running pg_basebacup on PostgreSQL 17, the user is prompted
for a password even if .pgpass is set.

$ ~/pgsql/pgsql-17/bin/pg_basebackup -h 127.0.0.1 -p 17001 -U repuser -P -D
/tmp/bkup.dat
Password:

Also, if the -w option is given, the following error occurs.

$ ~/pgsql/pgsql-17/bin/pg_basebackup -h 127.0.0.1 -p 17001 -w -U repuser -P
-D /tmp/bkup.dat
pg_basebackup: error: connection to server at "127.0.0.1", port 17001
failed: fe_sendauth: no password supplied
$

PostgreSQL 16's pg_basebackup does not get this error when the -w option is
given, and the password is completed by .pgpass

$ ~/pgsql/pgsql-16/bin/pg_basebackup -h 127.0.0.1 -p 16001 -U repuser -w -P
-D /tmp/bkup.dat
23638/23638 kB (100%), 1/1 tablespace
$

And inexplicably, PostgreSQL 17's pg_basebackup also does not prompt for a
password if -d “” is specified, and pg_basebackup can be executed.

$ ~/pgsql/pgsql-17/bin/pg_basebackup -h 127.0.0.1 -p 17001 -d "" -U repuser
-P -D /tmp/bkup.dat
23663/23663 kB (100%), 1/1 tablespace
$

We believe that the difference in behavior of pg_basebackup between
PostgreSQL 16 and PostgreSQL 17 when .pgpass is specified is problematic.

Best regards.



view thread (3+ messages)  latest in thread

Message-ID: <18685-fee2dd142b9688f1@postgresql.org>
Permalink:  ../18685-fee2dd142b9688f1@postgresql.org/
Also on:    postgresql.org/message-id/18685-fee2dd142b9688f1@postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: noreply@postgresql.org, pgsql-bugs@lists.postgresql.org, nuko.yokohama@gmail.com
  Subject: Re: BUG #18685: .pgpass is not enabled when running pg_basebackup on PostgreSQL 17.
  In-Reply-To: <18685-fee2dd142b9688f1@postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox