Re: pg_rewind fails on Windows where tablespaces are used
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Alexandra Wang <alexandra.wang.oss@gmail.com>,
Chris Travers <chris.travers@stormatics.tech>,
Farooq Rashed <farooq.rashed@desc.gov.ae>, pgsql-bugs@lists.postgresql.org
Date: 2025-01-18T14:37:07Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix readlink() for non-PostgreSQL junction points on Windows.
- 2c4a532c96a9 13.19 landed
- f4fd5325cc87 14.16 landed
- 9b136b0f2e53 15.11 landed
-
Fix stat() for recursive junction points on Windows.
- fbf8efbda88c 13.19 landed
- 9f1c67488e59 14.16 landed
- e708f31881fd 15.11 landed
-
Fix pg_rewind with in-place tablespaces when source is remote
- bf227926d22b 17.0 cited
-
Make unlink() work for junction points on Windows.
- f357233c9db8 16.0 cited
-
Use in-place tablespaces in regression test.
- d6d317dbf615 15.0 cited
On 2025-01-14 Tu 4:12 PM, Andrew Dunstan wrote:
>
> On 2025-01-08 We 10:38 PM, Thomas Munro wrote:
>> On Thu, Jan 9, 2025 at 3:45 AM Andrew Dunstan <andrew@dunslane.net>
>> wrote:
>>> Those patches didn't actually include any tests. I guess the best test
>>> would be to create a chain of several junction points and then run
>>> initdb on the leaf of the chain?
>> Yeah I think the three interesting cases were initdb when run under
>> junctions like these:
>>
>> 1. Volume GUID format: mklink /J foo \\?\Volume{12341234-1234...},
>> expected to break without patch
>> 2. Chain: mklink /J C:\\aaa1 C:\\aaa2, mkdir /J C:\\aaa2 c:\\aaa3,
>> expected to break without patch
>> 3. Chain of length > 8, expected to fail with ELOOP once the patch
>> is applied.
>>
>> (Syntax may be off, I just googled it but don't have Windows to try).
>>
>> The way to get decent tests for this stuff and all the rest of the
>> wrappers would probably be to develop this test suite further:
>>
>> https://www.postgresql.org/message-id/flat/CA%2BhUKG%2BajSQ_8eu2AogTncOnZ5me2D-Cn66iN_-wZnRjLN%2Bicg%40mail.gmail.com
>>
>
>
>
> I can confirm that these two patches apply cleanly to releases 13 ..
> 15, that builds are also clean, and that tests 1..3 above pass/fail as
> expected. Tested on a WS2019 instance.
>
>
>
I have pushed the backpatch of these two patches into release 13 .. 15.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com