Hi,
I have a problem restarting postgres 8.1.3 running on FreeBSD 5.4 after
a crash. Just after start, postgresql core down, backtrace is following:
gdb ../bin/postgres postgres.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols
found)...
Core was generated by `postgres'.
Program terminated with signal 4, Illegal instruction.
Reading symbols from /lib/libz.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.2
Reading symbols from /lib/libreadline.so.5...(no debugging symbols
found)...done.
Loaded symbols for /lib/libreadline.so.5
Reading symbols from /lib/libcrypt.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib/libcrypt.so.2
Reading symbols from /lib/libm.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.3
Reading symbols from /lib/libutil.so.4...(no debugging symbols
found)...done.
Loaded symbols for /lib/libutil.so.4
Reading symbols from /lib/libc.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /lib/libncurses.so.5...(no debugging symbols
found)...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols
found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x0815e70f in load_role ()
(gdb) bt
#0 0x0815e70f in load_role ()
#1 0xbfbfff94 in ?? ()
#2 0x00000014 in ?? ()
#3 0x00000000 in ?? ()
#4 0xbfbfd560 in ?? ()
#5 0x00000002 in ?? ()
#6 0x081a9710 in ServerLoop ()
#7 0x081aa9d8 in PostmasterMain ()
#8 0x0816435d in main ()
Those records are writing to stderr in starting up postgres:
pg_ctl: another postmaster may be running; trying to start postmaster anyway
Dec 23 17:00:07 uran postgres[27716]: [1-1] LOG: database system was
interrupted at 2006-12-23 16:45:07 MSK
Dec 23 17:00:07 uran postgres[27716]: [2-1] LOG: checkpoint record is
at 18D/8981F96C
Dec 23 17:00:07 uran postgres[27716]: [3-1] LOG: redo record is at
18D/8981F96C; undo record is at 0/0; shutdown TRUE
Dec 23 17:00:07 uran postgres[27716]: [4-1] LOG: next transaction ID:
1302234451; next OID: 119793642
Dec 23 17:00:07 uran postgres[27716]: [5-1] LOG: next MultiXactId: 37;
next MultiXactOffset: 73
Dec 23 17:00:07 uran postgres[27716]: [6-1] LOG: database system was
not properly shut down; automatic recovery in progress
Dec 23 17:00:07 uran postgres[27716]: [7-1] LOG: record with zero
length at 18D/8981F9B0
Dec 23 17:00:07 uran postgres[27716]: [8-1] LOG: redo is not required
Dec 23 17:00:07 uran postgres[27716]: [9-1] LOG: database system is ready
Dec 23 17:00:07 uran postgres[27716]: [10-1] LOG: transaction ID wrap
limit is 2023288127, limited by database "cup2002"
postmaster starting
Those messages are writting into /var/log/messages:
Dec 23 16:45:07 uran su: login_getclass: unknown class 'postgres'
Dec 23 16:45:07 uran su: login_getclass: unknown class 'postgres'
Dec 23 16:45:07 uran kernel: pid 27494 (postgres), uid 1003: exited on
signal 4 (core dumped)
Is there a way to restore database ?
zero_damaged_pages = on already set in postgresql.conf
Thank you for any suggestion.
--
http://www.maxime.net.ru/ http://sochi.org.ru/