Re: New option for pg_basebackup, to specify a different directory for pg_xlog - Mailing list pgsql-hackers

From Haribabu kommi
Subject Re: New option for pg_basebackup, to specify a different directory for pg_xlog
Date
Msg-id 8977CB36860C5843884E0A18D8747B0372BF0D61@szxeml558-mbs.china.huawei.com
Whole thread Raw
In response to New option for pg_basebackup, to specify a different directory for pg_xlog  (Haribabu kommi <haribabu.kommi@huawei.com>)
Responses Re: New option for pg_basebackup, to specify a different directory for pg_xlog  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: New option for pg_basebackup, to specify a different directory for pg_xlog  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
On 27 November 2013 10:35 Fujii Masao wrote:
> On Wed, Nov 27, 2013 at 1:27 PM, Haribabu kommi
> <haribabu.kommi@huawei.com> wrote:
> > On 26 November 2013 23:11 Fujii Masao wrote:
> >> On Wed, Nov 20, 2013 at 7:43 PM, Haribabu kommi
> >> <haribabu.kommi@huawei.com> wrote:
> >> > I tried using of stat'ing in two directories, which is having a
> >> problem in windows.
> >> > So modified old approach to detect limited errors. Updated patch
> >> attached.
> >> > This will detect and throw an error in the following scenarios.
> >> > 1. pg_basebackup -D /home/data --xlogdir=/home/data 2.
> >> > pg_basebackup -D data --xlogdir=/home/data -- home is the CWD 3.
> >> > pg_basebackup -D ../data --xlogdir=/data -- home is the CWD
> >> >
> >> > Please let me know your suggestions.
> >>
> >> Checking only #1 and #2 cases looks sufficient to at least me. If
> >> we do that, we can refactor the patch so that it reuses
> >> make_absolute_path() instead of adding new functions, as pointed
in
> >> upthread. Anyway, what about committing the core patch (Updated
> >> version of core patch attached) first? Then, we can discuss the
> check logic more.
> >
> > Yes it is fine. The core patch attached in the mail is working fine.
>
> Okay. Committed!

To detect provided data and xlog directories are same or not, I reused the
Existing make_absolute_path() code as follows.

1. Moved the make_absolute_path() function from miscinit.c to path.c and
Changed all error reporting functions. And also it returns NULL incase of
any error.

2. Added a new file called fe_path.c which contains make_absolute_path()
only for frontend code.

The patches are attached in the mail for both approaches, please review and let
Me know your suggestions.

On top those patches, the error detection logic is added in pg_basebackup and the
Same is attached in the mail.

Regards,
Hari babu.

Attachment

pgsql-hackers by date:

Previous
From: Atri Sharma
Date:
Subject: Re: palloc0
Next
From: Peter Eisentraut
Date:
Subject: Re: Hstore: Query speedups with Gin index