From: | Michael Glaesemann <grzm(at)seespotcode(dot)net> |
---|---|
To: | Magnus Hagander <magnus(at)hagander(dot)net> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: Tablespaces in the data directory |
Date: | 2012-12-04 03:41:58 |
Message-ID: | 6FCE516D-3D80-4924-9E3C-9617ED05793F@seespotcode.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Dec 3, 2012, at 12:33, Magnus Hagander wrote:
> On Dec 3, 2012 2:55 AM, "Andrew Dunstan" <andrew(at)dunslane(dot)net> wrote:
>>
>>
>> On 12/02/2012 07:50 PM, Magnus Hagander wrote:
>>>
>>> On Sat, Dec 1, 2012 at 6:56 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>>
>>>> Magnus Hagander <magnus(at)hagander(dot)net> writes:
>>>>>
>>>>> Someone just reported a problem when they had created a new tablespace
>>>>> inside the old data directory. I'm sure there can be other issues
>>>>> caused by this as well, but this is mainly a confusing scenario for
>>>>> people now.
>>>>> As there isn't (as far as I know at least) any actual *point* in
>>>>> creating a tablespace inside the main data directory, should we
>>>>> perhaps disallow this in CREATE TABLESPACE? Or at least throw a
>>>>> WARNING if one does it?
>>>>
>>>> It could be pretty hard to detect that in general (think symlinks
>>>> and such). I guess if we're just trying to print a helpful warning,
>>>> we don't have to worry about extreme corner cases. But what exactly
>>>> do you have in mind --- complain about any relative path? Complain
>>>> about absolute paths that have a prefix matching the DataDir?
>>>
>>> Oh, I hadn't thought quite so far as the implementation :) Was looking
>>> to see if there were going to be some major objections before I even
>>> started thinking about that.
>>>
>>> But for the implementation, I'd say any absolute path that have a
>>> prefix matching DataDir. Tablespaces cannot be created using relative
>>> paths, so we don't have to deal with that.
>>>
>>
>> I have been known to symlink a tablespace on a replica back to a
> directory in the datadir, while on the primary it points elsewhere. What
> exactly is the problem?
>
> That wouldn't be affected by this though, since it would only warn at
> create tablespace.
>
> I'd still consider it a bad idea in general to do that, since you're
> basically messing with the internal structure of the data directory. Why
> not just link it to some place outside the data directory?
One reason is that subsequent copies of the data directory then also includes the tablespace data. Saves one step when setting up a standby.
Michael Glaesemann
grzm seespotcode net
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2012-12-04 03:50:32 | Re: Use of fsync; was Re: Pg_upgrade speed for many tables |
Previous Message | Michael Paquier | 2012-12-04 03:41:27 | Forgotten argument description in header of index_create |