Re: pg_basebackup vs. Windows and tablespaces

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Noah Misch <noah(at)leadboat(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Dilip kumar <dilip(dot)kumar(at)huawei(dot)com>
Subject: Re: pg_basebackup vs. Windows and tablespaces
Date: 2014-11-14 03:37:52
Message-ID: CAA4eK1KFLiQUMQcYpbwZigCBZxE7ZLSg4TEvnU1jG_km_qKqRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 14, 2014 at 3:03 AM, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
>
> On 11/13/14 11:52 AM, Alvaro Herrera wrote:
> > Amit Kapila wrote:
> >
> >> This patch is in "Ready for committer" stage for more than 1.5 months.
> >> I believe this is an important functionality such that without this tar
> >> format of pg_basebackup is not usable on Windows. I feel this
> >> will add a value to pg_basebackup utility and moreover the need
> >> and design has been agreed upon the list before development.
> >>
> >> Can any Committer please have a look at this patch?
> >
> > Is this still relevant after this commit?
> >
> > commit fb05f3ce83d225dd0f39f8860ce04082753e9e98
> > Author: Peter Eisentraut <peter_e(at)gmx(dot)net>
> > Date: Sat Feb 22 13:38:06 2014 -0500
> >
> > pg_basebackup: Add support for relocating tablespaces
>
> I believe so.
>
> The commit only applies to "plain" output. Amit's complaint is that tar
> utilities on Windows don't unpack symlinks, so the "tar" format isn't
> useful on Windows when tablespaces are used. So he wants the recovery
> mechanism to restore the symlinks.
>
> I'm not fully on board with that premise. (Get a better tar tool.
> Submit a patch.)
>

For native Windows environment, I have checked all the tools I could find
(Winrar, tar, 7-zip, etc...) and none of them is working and even checked
a lot on google to try to find some workaround for this, but it seems there
is no way to reliably handle this issue. Refer link :
http://sourceforge.net/p/mingw/bugs/2002/

Then I started discussion in tar community to see if they can suggest
some way, but there also I could not find a reliable solution except that
it might work in some cases if cygwin is installed. You can refer below
thread:
https://lists.gnu.org/archive/html/bug-tar/2014-07/msg00007.html

After spending good amount of time for finding a workaround or alternative,
only I decided that it is important to write this patch to make tar format
for pg_basebackup usable for Windows users.

> But this also ties in with the recent discovery that the tar format
> cannot handle symlinks longer than 99 bytes. So this patch could also
> fix that problem by putting the untruncated name of the symlink in the
> WAL data.
>

I have mentioned that this can be usable for Linux users as well on that
thread, however I think we might want to provide it with an option for
linux users. In general, I think it is good to have this patch for Windows
users and later if we find that Linux users can also get the benefit with
this functionality, we can expose the same with an additional option.

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2014-11-14 03:41:50 Re: pg_basebackup vs. Windows and tablespaces
Previous Message Sam Saffron 2014-11-14 03:31:39 Re: [GENERAL] Performance issue with libpq prepared queries on 9.3 and 9.4