Re: pg_tablespace_location() failure with allow_in_place_tablespaces

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_tablespace_location() failure with allow_in_place_tablespaces
Date: 2022-03-07 11:58:50
Message-ID: YiXzevr6yiKF2818@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2022-03-07 12:10:32 Re: Add parameter jit_warn_above_fraction
Previous Message Magnus Hagander 2022-03-07 11:56:52 Re: Add parameter jit_warn_above_fraction