pg_dumpall | gzip > db.out-`date +\%Y\%m\%d\%H`.gz
cat db.out-`date +\%Y\%m\%d\%H`.gz | gunzip | psql template1
From: firstname.lastname@example.org On Behalf Of Martin Povolny
Sent: Tuesday, 26 October 2010 10:12 PM
Subject: [ADMIN] large database: problems with pg_dump and pg_restore
I have some quite grave problems with dumping and restoring large databases (>4GB of dump).
I had 5 databases, 4 dumped ok, the 5th, the largest failed dumping: I was unable to make a dump in the default 'tar' format. I got this message:
pg_dump: [tar archiver] archive member too large for tar format
I got over this issue by using the 'custom' format.
Unfortunately later on I was only able to restore 3 of the 5 databases -- any of the 2 dumps that would get over 4GB in the 'tar' format would fail.
/var/tmp# ls -l dumps/
-rw-r--r-- 1 root root 742611968 2010-10-16 20:36 archiv1.dump
-rw-r--r-- 1 root root 317352448 2010-10-16 20:37 archiv2.dump
-rw-r--r-- 1 root root 1137477632 2010-10-16 20:41 archiv3.dump
-rw-r--r-- 1 root root 3712833536 2010- 10-16 20:57 archiv4.dump
-rw-r--r-- 1 root root 8735429632 2010-10-16 21:35 archiv5.dump
-rw-r--r-- 1 root root 1253325453 2010-10-16 22:59 bb.dump
archiv1-4 went OK, archiv5 -- the largest in 'tar' format -- failed and the 'bb.dump' which is in the 'custom' format, failed too.
I got these messages:
for the archiv5 in the 'tar' format:
pg_restore: [tar archivář] nalezena poškozená tar hlavička v STEX (předpokládáno 100, vypočteno 34044) pozice souboru 7750193152
sorry, it's in my native locale, but is says "found a corrupted tar header in STEX (expected 100, calculated 34044) file position 7750193152
for the bb.dump in the 'custom' format:
pg_restore: [vlastní archivář] unexpected end of file
'vlastní archiv ář' is again in my locale, it should be in English "own archiver"
Later I tried to utilize the -I and -i switches of pg_restore to restore data that are in the archive behing the table that was not restored. But got the same error message.
The dump was created on postgresql-8.3 8.3.3-1~bpo40+1 from debian backports. I was trying to restore on this version and later on using postgresql-8.4 8.4.5-1~bpo50+1 from debian backports, finally I tried 64bit version of postgresql-8.4 8.4.5-0ubuntu10.10. No change, still the same error messages.
I welcome any help and/or hints on this issue as I need to dump and restore several large databases.
Mgr. Martin Povolný, soLNet, s.r.o.,