Re: New option for pg_basebackup, to specify a different directory for pg_xlog

From: Haribabu kommi <haribabu(dot)kommi(at)huawei(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: New option for pg_basebackup, to specify a different directory for pg_xlog
Date: 2013-11-18 05:49:15
Message-ID: 8977CB36860C5843884E0A18D8747B0372BEC1CE@szxeml558-mbs.china.huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 17 November 2013 00:55 Fujii Masao wrote:
> On Sat, Nov 16, 2013 at 2:27 PM, Haribabu kommi
> <haribabu(dot)kommi(at)huawei(dot)com> wrote:
> > on 15 November 2013 17:26 Magnus Hagander wrote:
> >
> >>On Fri, Nov 15, 2013 at 12:10 PM, Haribabu kommi
> >><haribabu(dot)kommi(at)huawei(dot)com> wrote:
> >
> >>On 14 November 2013 23:59 Fujii Masao wrote:
> >>> On Thu, Nov 14, 2013 at 9:08 PM, Haribabu kommi
> >>> <haribabu(dot)kommi(at)huawei(dot)com> wrote:
> >>> > Please find attached the patch, for adding a new option for
> >>> > pg_basebackup, to specify a different directory for pg_xlog.
> >>>>
> >>> Sounds good! Here are the review comments:
> >>>> Don't we need to prevent users from specifying the same directory
> >>>> in both --pgdata and --xlogdir?
> >
> >>>I feel no need to prevent, even if user specifies both --pgdata and
> >>>--xlogdir as same directory all the transaction log files will be
> >>>created in the base directory instead of pg_xlog directory.
> >
> >
> >
> >>Given how easy it would be to prevent that, I think we should. It
> >>would be an easy misunderstanding to specify that when you actually
> >>want it in <wherever>/pg_xlog. Specifying that would be redundant in
> >>the first place, but people ca do that, but it
> >
> >>would also be very easy to do it by mistake, and you'd end up with
> >>something that's really bad, including a recursive symlink.
> >
> >
> >
> > Presently with initdb also user can specify both data and xlog
> > directories as same.
> >
> > To prevent the data directory and xlog directory as same, there is a
> > way in windows (_fullpath api) to get absolute path from a relative
> > path, but I didn't get any such possibilities in linux.
> >
> > I didn't find any other way to check it, if anyone have any idea
> > regarding this please let me know.
>
> What about make_absolute_path() in miscinit.c?

The make_absoulte_patch() function gets the current working directory and adds
The relative path to CWD, this is not giving proper absolute path.

I have added a new function verify_data_and_xlog_dir_same() which will change the
Current working directory to data directory and gets the CWD and the same way for transaction
log directory. Compare the both data and xlog directories and throw an error. Please check it once.

Is there any other way to identify that both data and xlog directories are pointing to the same
Instead of comparing both absolute paths?

Updated patch attached in the mail.

Regards,
Hari babu.

Attachment Content-Type Size
UserSpecifiedxlogDir_v3.patch application/octet-stream 6.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sawada Masahiko 2013-11-18 05:53:20 Re: [PATCH] pg_basebackup: progress report max once per second
Previous Message Pavel Stehule 2013-11-18 05:24:27 Re: Assertions in PL/PgSQL