On Mon, Nov 18, 2013 at 6:31 PM, Haribabu kommi <haribabu.ko...@huawei.com> wrote: > > 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.ko...@huawei.com> wrote: >> > > on 15 November 2013 17:26 Magnus Hagander wrote: >> > > >> > >>On Fri, Nov 15, 2013 at 12:10 PM, Haribabu kommi >> > >><haribabu.ko...@huawei.com> wrote: >> > > >> > >>On 14 November 2013 23:59 Fujii Masao wrote: >> > >>> On Thu, Nov 14, 2013 at 9:08 PM, Haribabu kommi >> > >>> <haribabu.ko...@huawei.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.
Thanks for updating the patch! With the patch, when I specify the same directory in both -D and --xlogdir, I got the following error. $ cd /tmp $ pg_basebackup -D hoge --xlogdir=/tmp/hoge -X fetch pg_basebackup: could not change directory to "hoge": No such file or directory Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers