Re: drop tablespace failed when location contains .. on win32

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: "wangsh(dot)fnst(at)fujitsu(dot)com" <wangsh(dot)fnst(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: drop tablespace failed when location contains .. on win32
Date: 2021-09-08 12:54:25
Message-ID: 9d81c415-d15e-743e-1394-b28bdcdd27ae@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 9/8/21 6:16 AM, wangsh(dot)fnst(at)fujitsu(dot)com wrote:
> Hi,
>
> I find a problem related to tablespace on win32(server2019).
>
>> postgres=# create tablespace tbs location 'C:\Users\postgres\postgres_install\aa\..\aa';
>> CREATE TABLESPACE
>> postgres=# create table tbl(col int) tablespace tbs;
>> ERROR: could not stat directory "pg_tblspc/16384/PG_15_202109061/12754": Invalid argument
>> postgres=# drop tablespace tbs;
>> WARNING: could not open directory "pg_tblspc/16384/PG_15_202109061": No such file or directory
>> ERROR: could not stat file "pg_tblspc/16384": Invalid argument
> I find that canonicalize_path() only remove the trailing '..', in this case, '..' is not removed , and
> pgsymlink succeed.

That seems like a bug. It's not very canonical :-)

cheers

andrew

--

Andrew Dunstan
EDB: https://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2021-09-08 12:56:42 Re: On login trigger: take three
Previous Message James Coleman 2021-09-08 12:47:35 Re: Parallelize correlated subqueries that execute within each worker