At Tue, 8 Mar 2022 10:39:06 +1300, Thomas Munro <thomas.mu...@gmail.com> wrote 
in 
> On Tue, Mar 8, 2022 at 12:58 AM Michael Paquier <mich...@paquier.xyz> wrote:
> > On Fri, Mar 04, 2022 at 11:26:43PM +1300, Thomas Munro wrote:
> > > +     /* Skip in-place tablespaces (testing use only) */
> > > +     if (get_dirent_type(fullpath, de, false, ERROR) == PGFILETYPE_DIR)
> > > +             continue;
> >
> > I saw the warning when testing base backups with in-place tablespaces
> > and it did not annoy me much, but, yes, that can be confusing.
> >
> > Junction points are directories, no?  Are you sure that this works
> > correctly on WIN32?  It seems to me that we'd better use readlink()
> > only for entries in pg_tlbspc/ that are PGFILETYPE_LNK on non-WIN32
> > and pgwin32_is_junction() on WIN32.
> 
> Thanks, you're right.  Test on a Win10 VM.  Here's a new version.

Thanks!  It works for me on CentOS8 and Windows11.

FYI, on Windows11, pg_basebackup didn't work correctly without the
patch.  So this looks like fixing an undiscovered bug as well.

===
> pg_basebackup -D copy
WARNING:  could not read symbolic link "pg_tblspc/16384": Invalid argument
pg_basebackup: error: tar member has empty name

> dir copy
 Volume in drive C has no label.
 Volume serial number: 10C6-4BA6

 Directory of c:\..\copy

2022/03/08  09:53    <DIR>          .
2022/03/08  09:53    <DIR>          ..
2022/03/08  09:53                 0 nbase.tar
2022/03/08  09:53    <DIR>          pg_wal
               1 File(s) 0 bytes
                           3 Dir(s)  171,920,613,376 bytes free

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center


Reply via email to