Слетела база Postgresql

Frutik

1024-й
Слетела база Postgresql

есть довольно нагруженная система: postgresql 8.0.*/fedora core 5, ext3

пока я был в отпуске произошло следуюшее: толь заглючил винт, толи файловая система. по словам сотрупников по разделук прошлись чекером. толи в результате работы fsck толь чего либо еще в рабочей директории постгреса пропало куча файлов. бекапы (как в таких случаях часто и бывает) только планировались (есть конечно сделанный вручную бекап месячной давности - но в базах за это время ряд важных изменений). путем анализа происходящего мной был сделан вывод, что сами данные возможно не пострадали - все "претензии" у сервера то к журнальным файлам то отсутствию какихто служебных файлов...

в результате подстановки недостающих файлов из старой копии (чего только не сделаеш в случае аврала :)) сервер вроде как даже пробует запускаться. в даный момент пишет такое

PHP:
LOG:  database system was shut down at 2006-07-24 17:20:29 EEST
LOG:  could not open file "/usr/local/pgsql/data/pg_xlog/0000000100000015000000F8" (log file 21, segment 248): No such file o
LOG:  invalid primary checkpoint record
LOG:  could not open file "/usr/local/pgsql/data/pg_xlog/0000000100000015000000F8" (log file 21, segment 248): No such file o
LOG:  invalid secondary checkpoint record
PANIC:  could not locate a valid checkpoint record
LOG:  startup process (PID 4101) was terminated by signal 6
LOG:  aborting startup due to startup process failure
душей чувствую что данные живые вот только как к ним добраться? в принципе мне бы только запуститься и сделать дамп - на большее и не расчитываю

итак может кто-нибуть подскажет что-нибуть? если сделать инитдб в другой каталог и подкинуть туда только base?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Frutik
есть довольно нагруженная система: postgresql 8.0.*/fedora core 5, ext3

пока я был в отпуске произошло следуюшее: толь заглючил винт, толи файловая система. по словам сотрупников по разделук прошлись чекером. толи в результате работы fsck толь чего либо еще в рабочей директории постгреса пропало куча файлов. бекапы (как в таких случаях часто и бывает) только планировались (есть конечно сделанный вручную бекап месячной давности - но в базах за это время ряд важных изменений). путем анализа происходящего мной был сделан вывод, что сами данные возможно не пострадали - все "претензии" у сервера то к журнальным файлам то отсутствию какихто служебных файлов...
Если проблема только в отсутствии файлов WAL, то можно использовать contrib/pg_resetxlog. При этом, насколько я понимаю, потеряются только данные с момента последнего checkpoint'а. Хуже, если pg_clog пострадал, но про него я ошибок не вижу.

"только base" копировать абсолютно бесполезно, потому что без служебной информации ты базы не увидишь.
 

Frutik

1024-й
спасибо, алексей. вроде помогло. по крайней мере база запустилась
 
Сверху