]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix CI failure introduced in commit 851f6649cc.
authorAmit Kapila <akapila@postgresql.org>
Thu, 29 Jan 2026 03:05:12 +0000 (03:05 +0000)
committerAmit Kapila <akapila@postgresql.org>
Thu, 29 Jan 2026 03:34:55 +0000 (03:34 +0000)
The test added in commit 851f6649cc uses a backup taken from a node
created by the previous test to perform standby related checks. On
Windows, however, the standby failed to start with the following error:
FATAL:  could not rename file "backup_label" to "backup_label.old": Permission denied

This occurred because some background sessions from the earlier test were
still active. These leftover processes continued accessing the parent
directory of the backup_label file, likely preventing the rename and
causing the failure. Ensuring that these sessions are cleanly terminated
resolves the issue in local testing.

Additionally, the has_restoring => 1 option has been removed, as it was
not required by the new test.

Reported-by: Robert Haas <robertmhaas@gmail.com>
Backpatch-through: 17
Discussion: https://postgr.es/m/CA+TgmobdVhO0ckZfsBZ0wqDO4qHVCwZZx8sf=EinafvUam-dsQ@mail.gmail.com

src/test/recovery/t/046_checkpoint_logical_slot.pl

index 8268dbb79c73e18fb5551d4410bc2134ef9ed5b0..406b208cccd0ff0754dd31dc0ee340bc76af514d 100644 (file)
@@ -138,6 +138,13 @@ eval {
 };
 is($@, '', "Logical slot still valid");
 
+# If we send \q with $<psql_session>->quit the command can be sent to the
+# session already closed. So \q is in initial script, here we only finish
+# IPC::Run
+$xacts->{run}->finish;
+$checkpoint->{run}->finish;
+$logical->{run}->finish;
+
 # Verify that the synchronized slots won't be invalidated immediately after
 # synchronization in the presence of a concurrent checkpoint.
 my $primary = $node;
@@ -153,8 +160,7 @@ $primary->backup($backup_name);
 my $standby = PostgreSQL::Test::Cluster->new('standby');
 $standby->init_from_backup(
        $primary, $backup_name,
-       has_streaming => 1,
-       has_restoring => 1);
+       has_streaming => 1);
 
 my $connstr_1 = $primary->connstr;
 $standby->append_conf(