Re: pg_tablespace_location() failure with allow_in_place_tablespaces - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: pg_tablespace_location() failure with allow_in_place_tablespaces
Date
Msg-id YiXzevr6yiKF2818@paquier.xyz
Whole thread Raw
In response to Re: pg_tablespace_location() failure with allow_in_place_tablespaces  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: pg_tablespace_location() failure with allow_in_place_tablespaces
Re: pg_tablespace_location() failure with allow_in_place_tablespaces
List pgsql-hackers
On Fri, Mar 04, 2022 at 11:26:43PM +1300, Thomas Munro wrote:
> The warning from readlink() while making the mapping file isn't ideal,
> and perhaps we should suppress that with something like the attached.
> Or does the missing map file entry break something on Windows?

> @@ -8292,6 +8293,10 @@ do_pg_start_backup(const char *backupidstr, bool fast, TimeLineID *starttli_p,
>
>      snprintf(fullpath, sizeof(fullpath), "pg_tblspc/%s", de->d_name);
>
> +    /* 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.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Add parameter jit_warn_above_fraction
Next
From: Magnus Hagander
Date:
Subject: Re: Add parameter jit_warn_above_fraction