Re: win32 tablespace handing - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: win32 tablespace handing
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE456A0A@algol.sollentuna.se
Whole thread Raw
In response to win32 tablespace handing  (Reini Urban <rurban@x-ray.at>)
List pgsql-hackers
>> Cygwin can do symlinks for directories via the magic .lnk file.
>> But Cygwin can also do junctions via hardlinks in ln.exe.
>> I thought link() calls the junction code.
>> I'll investigate why the libc link() failed, and if ln.exe does some
>> sifferent magic, similar to pgsymlink.
>
>I thought a little bit over this.
>
>hardlinks and junctions don't work across physical disks, only
>symlinks.

Pardon me for saying "Huh"? Junctions work just fine across disks. I
just created a tablespace here, and got the following from the
sysinternals too:
D:\pgdata\pg_tblspc>junction 164705

Junction v1.03 - Win2K junction creator and reparse point viewer
Copyright (C) 2000-2002 Mark Russinovich
Systems Internals - http://www.sysinternals.com

D:\pgdata\pg_tblspc\164705: JUNCTION
   Substitute Name: c:\temp\pgtest


And yes, tables created there go on C:. Tables in the default tablespace
go on D:.


(IIRC, junctions are even used for the Remote Storage facility, so the
disk theoreticallky doesn't even have to be in your machine at the time)


I don't think hardlinks work across disks, though, but I don't think we
use them.


//Magnus

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: win32 tablespace handing
Next
From: Reini Urban
Date:
Subject: Re: win32 tablespace handing