On Mon, 2006-08-07 at 14:51 -0500, Ron Johnson wrote: > What would be darned useful (but only, I think, with heavy usage of > tablespaces) is: > $ pg_tapedump /some/database /dev/st0,/dev/st1,/dev/st2,/dev/st3 I must be missing something. What is stopping you from doing something along the lines of: // mux.script psuedocode // X is the size of a stripe of data top: read X bytes from stdin or exit if EOF asynchronously write those X bytes to /dev/st0 read X bytes from stdin or exit if EOF asynchronously write those X bytes to /dev/st1 goto top And then make an inverse script called demux.script. Then: $ pg_dump somedatabase | gzip -c | mux.script To restore: $ demux.script | gunzip -c | psql somedatabase Would that work? Obviously you'd have to document the process well to make sure the someone didn't get confused 12 months later trying to restore. You may have to do something a little more sophisticated to make it work more generally, like adding header information to each tape that says "I am the 2nd tape of 3". Regards, Jeff Davis