On Tue, Dec 23, 2014 at 4:10 AM, Oskari Saarenmaa <
os@ohmu.fi> wrote:
>
> 08.11.2014, 04:03, Peter Eisentraut kirjoitti:
> > On 11/4/14 3:52 PM, Peter Eisentraut wrote:
> >> > Here are patches to address that. First, it reports errors when
> >> > attempting to create a tar header that would truncate file or symlink
> >> > names. Second, it works around the problem in the tests by creating a
> >> > symlink from the short-name tempdir that we had set up for the
> >> > Unix-socket directory case.
> > I ended up splitting this up differently. I applied to part of the
> > second patch that works around the length issue in tablespaces. So the
> > tests now pass in 9.4 and up even in working directories with long
> > names. This clears up the regression in 9.4.
> >
> > The remaining, not applied patch is attached. It errors when the file
> > name is too long and adds tests for that. This could be applied to 9.5
> > and backpatched, if we so choose. It might become obsolete if
> >
https://commitfest.postgresql.org/action/patch_view?id=1512 is accepted.
> > If that patch doesn't get accepted, I might add my patch to a future
> > commit fest.
>
> I think we should just use the UStar tar format
> (
http://en.wikipedia.org/wiki/Tar_%28computing%29#UStar_format) and
> allow long file names; all actively used tar implementations should be
> able to handle them. I'll try to write a patch for that soonish.
>
I think even using UStar format won't make it work for Windows where
the standard utilities are not able to understand the symlinks in tar.
There is already a patch [1] in this CF which will handle both cases, so I am
not sure if it is very good idea to go with a new tar format to handle this
issue.