Skip site navigation (1) Skip section navigation (2)

Re: Database backup

From: "Nigel J(dot) Andrews" <nandrews(at)investsystems(dot)co(dot)uk>
To: Alexandros Perdikomatis <menippos(at)otenet(dot)gr>
Cc: pgsql-help(at)postgresql(dot)org, "D'Arcy J(dot)M(dot) Cain" <darcy(at)druid(dot)net>,pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Database backup
Date: 2003-01-19 18:23:42
Message-ID: Pine.LNX.4.21.0301191820010.3067-100000@ponder.fairway2k.co.uk (view raw or flat)
Thread:
Lists: pgsql-interfaces
On Sun, 19 Jan 2003, Alexandros Perdikomatis wrote:

> Óôéò Êõñ 19 Éáí 2003 04:59, ï/ç D'Arcy J.M. Cain Ýãñáøå:
> > Redirecting to help list as it seems more appropriate.
> >
> > On Saturday 18 January 2003 09:17, Alexandros Perdikomatis wrote:
> > > Question: Am I too stupid to use tar?
> >
> > I'm sure not but you may misunderstand what tar does.  Tar is for storing a
> > collection of files into an archive.  It expects to find the list of files
> > on the command line in one form or another.  If you don't write to a file
> > first then all you have is a stream of data, not a file.
> >
> > > Some time I had no space on the filesystem to copy all the data in
> > > command mode (pg_dump) so I thought to pipe pg_dump to tar using a scsi
> > > tape archiver as output (/dev/rmt0).
> > > Why doesn't work?
> >
> > What exactly was the problem?  You may just have a device selection issue.
> > What system is this on?
> 
> Thanks for the reply.
> I think I understand what you mean, I just thought that instead of a file 
> input, we could have a pipe input.
> It runs on a SuSE linux 6.4 (you may ask why this old version, I updated what 
> was necesary, I like it becouse I have full greek support) and the archiver 
> is an old conner DDS-2 scsi tape streamer which is known on the operating 
> system as /dev/st0 by the kernel whith a symbolic link to /dev/rmt0.
> When I pg_dump on a file, of cource there's no problem. I restore also 
> correctly.
> But I would like to pipe this procces. For example: if we type the command: 
> # tar cvf /dev/rmt0 * 
> we're going to have all the files in the tree below to the tape.
> How can I pipe the output of the pg_dump to it?

Well, you could do:

pg_dump ... > /dev/rmt0

or if you want to set block size:

pg_dump ... | dd of=/dev/rmt0 obs=1k

Basically, you're trying to make it too complicated, tar will archive one file
but would you really use something like:

tar -cf archived-file.tar unarchived-file

unless the unarchived-file name was generated automatically and it just so
happened that only one file existed at that time?

If you really do want something tar try cpio instead.


-- 
Nigel J. Andrews


In response to

Responses

pgsql-interfaces by date

Next:From: Alexandros PerdikomatisDate: 2003-01-20 07:37:03
Subject: Re: Database backup
Previous:From: Alexandros PerdikomatisDate: 2003-01-19 15:35:38
Subject: Re: Database backup

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group