pg_dump: [tar archiver] could not write to tar member (wrote 39, attempted 166)
One of the nasty features of TAR format is that it needs to know the file size before adding it to the archive. As a result, pg_dump stores the file in the /tmp directory before moving it to the actual output file. For huge files, this means /tmp must be able to cope with the uncompressed size of the largest table. It's horrible, I know, which is why I use -Fc, but I'd guess this is the cause of your error.
It uses tmpfile() to get a temp file, so I can't see a simple way to test this, unless you can free up 2+GB in /tmp?
Please let me know if this is the cause, and if you can not test it, I will try to send a patch to (temporarily) avoid using tmpfile(). Ideally, I suppose pg_dump should support the ability to override the tmpfile() location.
Bye for now,
Philip
---------------------------------------------------------------- Philip Warner | __---_____ Albatross Consulting Pty. Ltd. |----/ - \ (A.B.N. 75 008 659 498) | /(@) ______---_ Tel: (+61) 0500 83 82 81 | _________ \ Fax: (+61) 03 5330 3172 | ___________ | Http://www.rhyme.com.au | / \| | --________-- PGP key available upon request, | / and from pgp5.ai.mit.edu:11371 |/
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html