However, instead of the password getting baked into the pgsql.auto.conf, the reference to the passfile gets put in, instead:
It's still early in the morning, so I might still be fuzzy-brained, but are you asking why the repuser password is not hard-coded into postresql.auto.conf?
# Do not edit this file manually! # It will be overwritten by the ALTER SYSTEM command. primary_conninfo = 'user=repuser passfile=''/var/db/postgres/.pgpass'' channel_binding=prefer host=10.1.1.1 port=5432 sslmode=''verify-ca'' sslnegotiation=postgres sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable dbname=foo'
But it seems postgres won't actually read the passfile.
Sep 26 12:01:27 hostname postgres[42455]: [7-1] 2025-09-26 12:01:27.658 UTC [42455] FATAL: could not connect to the primary server: connection to server at "10.1.1.1", port 5432 failed: fe_sendauth: no password supplied
Am I doing something wrong here?
*When* do you get that message? And what does "for my
pg_basebackup between master and standby" mean?
I'm loathe to hand-edit the file, because of that warning there.
Why does pg_basebackup put a reference to a file it it won't read it?
Because you have a subtle bug in the .pgpass file. It's case sensitive, and requires the domain name of that's part of $HOSTNAME.
Is there an alter system command that can be used to properly populate the password into this file?
Does the .pgpass file work for "regular" connections?