The following bug has been logged online:
Bug reference: 1426
Logged by: Alan Pevec
Email address: apevec@redhat.com
PostgreSQL version: 8.0.0
Operating system: i686-redhat-linux-gnu
Description: pg_restore SIGSEGV on 7.2.2 dump
Details:
Running pg_restore dump-produced-on-pg722.dump
fails with Segmentation fault:
Program received signal SIGSEGV, Segmentation fault.
0x00438443 in strlen () from /lib/tls/libc.so.6
(gdb) bt
#0 0x00438443 in strlen () from /lib/tls/libc.so.6
#1 0x080558d4 in ScanKeywordLookup (text=0x0) at keywords.c:369
#2 0x080547ac in fmtId (rawid=0x0) at dumputils.c:56
#3 0x0804e5ee in _getObjectDescription (buf=0x82870f8, te=0x81b19b8)
at pg_backup_archiver.c:2396
#4 0x0804e9d2 in _printTocEntry (AH=0x81a6a48, te=0x81b19b8,
ropt=0x81a69b0,
isData=0 '\0', acl_pass=0 '\0') at pg_backup_archiver.c:2556
#5 0x0804b0d5 in RestoreArchive (AHX=0x81a6a48, ropt=0x81a69b0)
at pg_backup_archiver.c:275
#6 0x0804a49b in main (argc=2, argv=0xbfffbb14) at pg_restore.c:340
(gdb)
The same dump was restored w/o problems with both pg_restore 7.3.8 and
7.4.6.
Dump header, produced with pg_restore 7.3.8 is:
;
; Archive created at Wed Jul 7 04:03:02 2004
; dbname: XXXX
; TOC Entries: 1982
; Compression: -1
; Dump Version: 1.5-7
; Format: CUSTOM
; Integer: 4 bytes
; Offset: 4 bytes
Seems to be caused by a recent patch:
http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_backup_a
rchiver.c#rev1.101
Workaround is to use pg_restore -O