BUG #18685: .pgpass is not enabled when running pg_basebackup on PostgreSQL 17.

Started by PG Bug reporting formover 1 year ago5 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

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.

#2Greg Sabino Mullane
greg@turnstep.com
In reply to: PG Bug reporting form (#1)
Re: BUG #18685: .pgpass is not enabled when running pg_basebackup on PostgreSQL 17.

Does changing the .pgpass like so work for you?

127.0.0.1:17001:*:repuser:repuser

Cheers,
Greg

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #18685: .pgpass is not enabled when running pg_basebackup on PostgreSQL 17.

PG Bug reporting form <noreply@postgresql.org> writes:

In PostgreSQL 16, pg_basebackup could be run without prompting for a
password.
However, when running pg_basebacup on PostgreSQL 17, the user is prompted
for a password even if .pgpass is set.

Yup, that's a bug. Fix pushed, thanks for the report!

regards, tom lane

#4Bharani SV-forum
esteembsv-forum@yahoo.com
In reply to: Tom Lane (#3)
BUG #18685: -> Does the similar bug affect executable "pg_dump" too in Ver 17.0

TeamDoes the similar bug affect,  executable "pg_dump" too in Ver 17.0
Please confirm
On Monday, November 4, 2024 at 02:40:34 PM EST, Tom Lane <tgl@sss.pgh.pa.us> wrote:

PG Bug reporting form <noreply@postgresql.org> writes:

In PostgreSQL 16, pg_basebackup could be run without prompting for a
password.
However, when running pg_basebacup on PostgreSQL 17, the user is prompted
for a password even if .pgpass is set.

Yup, that's a bug.  Fix pushed, thanks for the report!

            regards, tom lane

#5Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Bharani SV-forum (#4)
Re: BUG #18685: -> Does the similar bug affect executable "pg_dump" too in Ver 17.0

On Tue, 2024-11-05 at 16:20 +0000, Bharani SV-forum wrote:

Does the similar bug affect,  executable "pg_dump" too in Ver 17.0

According to the commit message https://postgr.es/c/e2a9129093
pg_dump is not affected.

On Monday, November 4, 2024 at 02:40:34 PM EST, Tom Lane <tgl@sss.pgh.pa.us> wrote:

PG Bug reporting form <noreply@postgresql.org> writes:

In PostgreSQL 16, pg_basebackup could be run without prompting for a
password.
However, when running pg_basebacup on PostgreSQL 17, the user is prompted
for a password even if .pgpass is set.

Yup, that's a bug.  Fix pushed, thanks for the report!

Yours,
Laurenz Albe