Re: BUG #11949: pg_basebackup creates defective tar file - Mailing list pgsql-bugs

From Heikki Linnakangas
Subject Re: BUG #11949: pg_basebackup creates defective tar file
Date
Msg-id 547EEC2C.40202@vmware.com
Whole thread Raw
In response to BUG #11949: pg_basebackup creates defective tar file  (hendrik.grewe@udo.edu)
Responses Re: BUG #11949: pg_basebackup creates defective tar file
List pgsql-bugs
On 11/12/2014 04:36 PM, hendrik.grewe@udo.edu wrote:
> The following bug has been logged on the website:
>
> Bug reference:      11949
> Logged by:          Hendrik Grewe
> Email address:      hendrik.grewe@udo.edu
> PostgreSQL version: 9.3.5
> Operating system:   Ubuntu Linux 12.04 / Kernel 3.13.0-39
> Description:
>
> Hi!
> Somehow pg_basebackup constructs defective tar files if invoked like
>
> pg_basebackup --pgdata=/path/to/folder --format=tar --label="pg_backup on
> 2012.10.21"
>
> The resulting base.tar in path/to/folder is somwhat corrupted.
> It is possible to untar this file but it is somehow impossible to add a file
> to the generate base.tar file throug
>
> tar --append --file /path/to/folder/base.tar someFileToAddToArchive
>
> This is also an error within TAR, because it silently (Exit Code 0) fails to
> add the File `someFileToAddToArchive`. But this faulty try to add the file
> results in a changed/repaired base.tar. If one trys to append the file on
> this tampered tar it will work and the file is actually added to the tar.
> Bugreport to TAR project is on its way, also.

https://lists.gnu.org/archive/html/bug-tar/2014-11/msg00006.html

> Since other "handmade" tars do work on appending files, the generated
> base.tar file by pg_basebackup must be somhow broken.

The conclusion on bug-tar list seems to be that this is a bug in GNU
tar, and the file created by pg_basebackup is correct.

I just wanted to add that you can work-around this by passing the "-b 1"
option to tar. With that, it seems to work.

- Heikki

pgsql-bugs by date:

Previous
From: Christopher Browne
Date:
Subject: Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)
Next
From: Marcin Ogorzałek
Date:
Subject: Re: BUG #12126: Empty tsvector as output ofto_tsvector function