All right, I think I've seen people mention the points I would have tried to make (and I don't know any of this for sure, but it's worth a try).

Recapping the valid points:

o The tape drive wants tar. Anything involving tar-formatted stuff going directly to tape works; hence tar -cvf /dev/nst0 or pg_dump -F t > /dev/nst0 functioning as expected.

o gzip doesn't care. It'll zip anything. So piping any of that through gzip into a file is just fine.

o A gzipped tar isn't tar format; it's gzip format. The tape drive doesn't know what to do with gzip and chokes.

Additional point: It appears that your version of tar doesn't like the syntax for reading from stdin (at least not within an su command string). This'll be a problem for making it all happen in a one-liner, but if you don't mind a bit of scripting and keeping some staging area on your hard drive, script the following steps:

1) Dump from postgre through gzip into a file. Don't worry about tar format; dump it however postgre likes it when it's time to restore.

  pg_dump --make-restore-easier mydatabase | gzip [-9] tempdump.gz

(where --make-restore-easier is whatever set of flags and options makes restoration easiest, and [-9] means optionally specify maximum gzip compression)

2) Tar the gzipped file onto the tape drive

  tar -cvf /dev/nst0 tempdump.gz

3) Delete the temporary file

  rm tempdump.gz


Restoration is the reverse of backup:

Since in this stage, tar is a source rather than a sink, you should be able to achive restoration as a one-liner:

  tar -Oxf /dev/nst0 | gunzip -C | postgre_command

If that chokes for some reason, follow the reverse of backup:

1) Retrieve the gzipped file from the tape.

  tar -xvf /dev/nst0

2) gunzip the result and pipe it into your favorite postgre interpreter.

  gunzip -c tempdump.gz | postgre_command

3) delete the temporary file

  rm tempdump.gz


Hopefully that's at least somewhat clear. :-)  And helpful.

Cheers,
~Brian


Andrew Perrin wrote:
perrin:~# su postgres -c '/usr/bin/pg_dump leted | tar -czf /dev/nst0 -'
tar: -: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors


----------------------------------------------------------------------
Andrew J Perrin - andrew_perrin (at) unc.edu - http://perrin.socsci.unc.edu
Assistant Professor of Sociology; Book Review Editor, _Social Forces_
University of North Carolina - CB#3210, Chapel Hill, NC 27599-3210 USA
New Book: http://www.press.uchicago.edu/cgi-bin/hfs.cgi/00/178592.ctl



On Mon, 27 Nov 2006, Joseph Mack NA3T wrote:

On Mon, 27 Nov 2006, Andrew Perrin wrote:

Thanks, but gzip actually handles tar format fine;

yes of course (doh).

o gzip handles tar format

o the tape drive wants tar format.

I don't have a tape drive to test this on, so I hope I'm not wasting your time, but you didn't tell me what happened with

/usr/bin/pg_dump leted | tar -czf /dev/nst0 -

Joe
--
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!
--
TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ  : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/


--
----------------
Brian A. Henning
strutmasters.com
336.597.2397x238
----------------
--
TriLUG mailing list        : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ  : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/

Reply via email to