Re: pg_rewind fails on Windows where tablespaces are used
От
Michael Paquier
Тема
Re: pg_rewind fails on Windows where tablespaces are used
Дата
Msg-id
Zl6dsK5IcNGTL0qD@paquier.xyz
Ответ на
pg_rewind fails on Windows where tablespaces are used (Chris Travers)
Список
Дерево обсуждения
pg_rewind fails on Windows where tablespaces are used Chris Travers <chris.travers@stormatics.tech>
Re: pg_rewind fails on Windows where tablespaces are used Michael Paquier <michael@paquier.xyz>
Re: pg_rewind fails on Windows where tablespaces are used Andrew Dunstan <andrew@dunslane.net>
Re: pg_rewind fails on Windows where tablespaces are used Michael Paquier <michael@paquier.xyz>
Re: pg_rewind fails on Windows where tablespaces are used Chris Travers <chris.travers@stormatics.tech>
On Wed, May 08, 2024 at 03:02:21PM +0700, Chris Travers wrote: > Setup is PostgreSQL on Windows with a tablespace on a separate drive. When > I go to run pg_rewind it consistently fails with the following error: (Chris has poked me regarding this issue last week in Vancouver.) > pg_rewind: servers diverged at WAL location 39B/7EC6F60 on timeline 2 > pg_rewind: rewinding from last common checkpoint at 39B/7E8E3F8 on timeline > 2 > pg_rewind: error: file "pg_tblspc/34244696" is of different type in source > and target > > The file is confirmed to be a JUNCTION to the correct location on both the > source and target. So the error looks like a problem interacting with > Windows and detecting JUNCTION types in this case. I am not completely sure to follow here. Aren't you making use of an in-place tablespace here? Could you provide more details about the structure of the data folders, because these are on separate hosts, right? When rewinding from a live server, readlink() returns an absolute path for a junction point, meaning that the result would not be influenced by bf227926d22b as we would always handle such an entry with FILE_TYPE_SYMLINK. On Windows, the link creation would be covered by pgsymlink(), which would create the link as a junction point. Note that I do not object to a backpatch of bf227926d22b, as I did not do it for the sake of caution as in-place tablespaces are a developer feature. If you use it for tests of your own on stable branches, well, why not. > I came across the following which looks like it would fix this problem but > don't have a proper build environment. Please consider backporting the fix > at least as far as Postgres 15 as this bug fix does apply to non-in-place > tablespaces on Windows. The thread is > https://postgrespro.com/list/thread-id/2657122 I'd suggest to use the postgresql.org reference. This refers to commit bf227926d22b, for the following thread: https://www.postgresql.org/message-id/2b79d2a8-b2d5-4bd7-a15b-31e485100980.xiyuan.zr@alibaba-inc.com Thanks, -- Michael
В списке pgsql-bugs по дате отправления
От: Haifang Wang (Centific Technologies Inc)
Дата:
От: Michael Paquier
Дата: