From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: fix tablespace handling in pg_combinebackup |
Date: | 2024-04-20 05:56:00 |
Message-ID: | CA+hUKGLOdUTOeJ6fNdL_93StazCq5qNghDvmXWxjRrUz+ZiaMQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I don't know how to fix 82023d47^ on Windows[1][2], but in case it's
useful, here's a small clue. I see that Perl's readlink() does in
fact know how to read "junction points" on Windows[3], so if that was
the only problem it might have been very close to working. One
difference is that our own src/port/dirmod.c's pgreadlink() also
strips \??\ from the returned paths (something to do with the
various forms of NT path), but when I tried that:
my $olddir = readlink("$backup_path/pg_tblspc/$tsoid")
|| die "readlink
$backup_path/pg_tblspc/$tsoid: $!";
+ # strip NT path prefix (see src/port/dirmod.c
pgreadlink())
+ $olddir =~ s/^\\\?\?\\// if
$PostgreSQL::Test::Utils::windows_os;
... it still broke[4]. So I'm not sure what's going on...
[1] https://github.com/postgres/postgres/runs/24040897199
[2] https://api.cirrus-ci.com/v1/artifact/task/5550091866472448/testrun/build/testrun/pg_combinebackup/002_compare_backups/log/002_compare_backups_pitr1.log
[3] https://github.com/Perl/perl5/blob/f936cd91ee430786a1bb6068a4a7c8362610dd5f/win32/win32.c#L2041
[4] https://cirrus-ci.com/task/6746621638082560
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2024-04-20 06:36:58 | Re: Use XLOG_CONTROL_FILE macro everywhere? |
Previous Message | Alexander Lakhin | 2024-04-20 05:00:00 | Re: subscription/026_stats test is intermittently slow? |