From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Willy-Bas Loos <willybas(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: ms windows: 40% space taken double by ../pg_tblspc folder? |
Date: | 2008-09-10 11:03:10 |
Message-ID: | 48C7A96E.3090600@hagander.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Willy-Bas Loos wrote:
> Hi,
>
> Tablespaces are implemented as some sort of a hard link on windows, so
> that the data seem to be in the program files, but they're not.
No, they are implemented using softlinks, AKA NTFS Junctions.
> When i look at my C drive with spacemonger though, it tells me that the
> data in the tablespace IS in the program files folder - it is "fooled"
> by the hard link.
In that case, it's a bug in that product. It's not uncommon - using
junctions isn't very common on windows. But one core system exapmle is
that the SYSVOL stuff uses junctions.
> That's no big problem, but it seems that Windows itself is fooled too.
> The space left on my C drive is not correct, i'm missing some space.
> It's not quite as much as the size of the tablespace. 4 GiB of space is
> missing on the C drive, the tablespace is 10 GiB.
> - "Missing" means: when i calculate the sum of the file sizes, except
> the ones in C:\ProgramFiles\PostgreSQL\8.3\data\pg_tblspc\ , there
> should be 24 GiB Free, but DIR and all the dialogs say that there are
> only 20 GiB free. If the whole space for ../pg_tblspc were taken double,
> there would be only 14 GiB free.
> - The command used was C:\>dir /a /s /-c > c.txt
> - There are minor diferences between dir *, dir *.* and dir without an
> asterix (surprisingly *.* gets the most)
> - The difference is not explained by the "size on disk" vs "filesize"
> (DIR gives the filesize, but the difference is less than 1 GiB)
> - The filesize sum in the properties dialog of Program files does NOT
> include the tablespace files
It could be the fact that the size of files that are currently being
modified doesn't show up properly.
> What happens when the size of the tablespace surpasses the space that is
> left on my C drive? Windows might find that the disc is full (even
> though it isn't), and writing to it would be impossible.
If the tablespace is on a different drive, it's completely unaffected by
the size of the actual drive C. The windows APIs, that postgresql uses,
certainly know about this, and won't be fooled.
//Magnus
From | Date | Subject | |
---|---|---|---|
Next Message | John DeSoi | 2008-09-10 12:07:51 | Re: psql scripting tutorials |
Previous Message | Tommy Gildseth | 2008-09-10 10:29:59 | Re: "Stuck" query |