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

Поиск
Список
Период
Сортировка
От Haribabu kommi
Тема Re: New option for pg_basebackup, to specify a different directory for pg_xlog
Дата
Msg-id 8977CB36860C5843884E0A18D8747B0372BF3072@szxeml558-mbs.china.huawei.com
обсуждение исходный текст
Ответ на 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
Список pgsql-hackers
On 10 December 2013 19:55 Alvaro Herrera wrote:
> Haribabu kommi escribió:
>
> > 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.
>
> Whatever you do, please don't add #include lines to postgres_fe.h.  Add
> them to whatever .c files that need to include the new header, instead.
> (This results in a longer patch, yes, but that consideration shouldn't
> drive anything.  There is a desire to include as less headers as
> possible in each source file, and adding more include lines to
> postgres_fe.h means the new header will be included by every single
> frontend file, even those not in core.)
>
> See a nearby patch by Bruce Momjian to deal with getpwnam() and
> getpwuid() failures; perhaps the idea of returning an error string
> should be designed similarly in both these patches.  Also consider
> using the psprintf stuff, which works on both backend and frontend,
> avoiding malloc etc so that code can be shared by both frontend and
> backend, eliminating the duplicity.

The make_absolute_path() function moving to port is changed in similar way as
Bruce Momjian approach. The psprintf is used to store the error string which
Occurred in the function. But psprintf is not used for storing the absolute path
As because it is giving problems in freeing the allocated memory in SelectConfigFiles.
Because the same memory is allocated in a different code branch from guc_malloc.

After adding the make_absolute_path() function with psprintf stuff in path.c file
It is giving linking problem in compilation of ecpg. I am not able to find the problem.
So I added another file abspath.c in port which contains these two functions.

Updated patches are attached in the mail. Please provide your suggestions.

Regards,
Hari babu.

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dimitri Fontaine
Дата:
Сообщение: Re: Completing PL support for Event Triggers
Следующее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: Question about sorting internals