On 2021-Sep-29, Andrew Dunstan wrote: > > The relevant info seems to be > > > > # Running: pg_basebackup -D > > /home/pgrunner/bf/root/REL_14_STABLE/pgsql.build/src/test/recovery/tmp_check/t_026_overwrite_contrecord_primary2_data/backup/backup > > -h 127.0.0.1 -p 59502 --checkpoint fast --no-sync > > pg_basebackup: error: connection to server at "127.0.0.1", port 59502 > > failed: FATAL: no pg_hba.conf entry for replication connection from host > > "127.0.0.1", user "pgrunner", no encryption > > Bail out! system pg_basebackup failed > > > > which looks like a pretty straightforward bogus-connection-configuration > > problem, except why wouldn't other BF members show it? > > This: > > # Second test: a standby that receives WAL via archive/restore commands. > $node = PostgresNode->new('primary2'); > $node->init( > has_archiving => 1, > extra => ['--wal-segsize=1']); > > doesn't have "allows_streaming => 1".
Hmm, but I omitted allows_streaming on purpose -- I only wanted archiving, not streaming. I understand that your point is that set_replication_conf is not called unless allows_streaming is set. So, do we take the stance that we have no right to expect pg_basebackup to work if we didn't pass allow_streaming => 1? If so, the fix is to add it. But my preferred fix would be to call set_replication_conf if either allows_streaming or has_archiving are given. Another easy fix would be to call $primary2->set_replication_conf in the test file, but then you'd complain that that's supposed to be an internal method :-) (This reminds me that I had to add something that seemed like it should have been unnecessary: wal_level=replica should become set if I request archiving, right? Otherwise the WAL archive is useless. I also had to add max_wal_senders=2 so that pg_basebackup would work, but I'm on the fence about setting that automatically if has_archiving is given.) -- Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/ "At least to kernel hackers, who really are human, despite occasional rumors to the contrary" (LWN.net)