pg_rewind fails with in-place tablespace

Rui Zhao <xiyuan.zr@alibaba-inc.com>

From: 赵锐(惜元) <xiyuan.zr@alibaba-inc.com>
To: "pgsql-hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-19T13:31:35Z
Lists: pgsql-hackers

Attachments

Hello postgres hackers,
 Recently I encountered an issue: pg_rewind fails when dealing with in-place tablespace. The problem seems to be that pg_rewind is treating in-place tablespace as symbolic link, while in fact it should be treated as directory.
 Here is the output of pg_rewind:
pg_rewind: error: file "pg_tblspc/16385" is of different type in source and target
 To help reproduce the failure, I have attached a tap test. And I am pleased to say that I have also identified a solution for this problem, which I have included in the patch.
 Thank you for your attention to this matter.
Best regards,
Rui Zhao

Commits

  1. Fix pg_rewind with in-place tablespaces when source is remote