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 09:31:14
Message-ID: 8977CB36860C5843884E0A18D8747B0372BED2B5@szxeml558-mbs.china.huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 18 November 2013 11:19 Haribabu kommi wrote:
> 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.

Failure when the xlogdir doesn't exist is fixed in the updated patch attached in the mail.

Regards,
Hari babu.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2013-11-18 09:48:56 Re: Sequence Access Method WIP
Previous Message Hannu Krosing 2013-11-18 09:02:19 Re: additional json functionality