Postgresql 9.2 перестал работать

Всем привет. Столкнулся с проблемой, после сбоя электроэнергии перестала работать СУБД. В pg_log пишет следующее:

неожиданный pageaddr 42/1BFEE000 в файле журнала 67, сегмент 30, смещение 16703488
неверная запись первичной контрольной точки
не удалось считать правильную запись контрольной точки
ОТМЕТКА: стартовый процесс (PID 1850) был завершён по сигналу 6: Aborted
ОТМЕТКА: прерывание запуска из-за ошибки в стартовом процессе

В pgstartup.log следующее:

runuser: невозможно установить группы: Операция не позволяется

К сожалению, я очень мало знаю про эту СУБД (она мне досталась "в наследство" ), и нюансы ее работы. Поэтому прошу помощи здесь.

Полазив по инету и этому форуму я пробовал:
- вырезать файлы из xlog, оставив только самые первые. Не помогло, вернул на место.
- сделать дамп. Как я понял, его можно сделать только при включенной СУБД?
- еще думал, что что-то с правами пользователя (из-за сообщения в стартап.лог), но подтверждения или решения не нашел.

Пока склоняюсь к идеи скопировать файлы базы и развернуть их на новом сервере. Прочитал здесь в мануале об этом, но ответа на вопрос "так можно?" или "как это правильно сделать?" там не увидел, скорее наоборот.

Подскажите, эту базу можно как-то спасти или всё плохо?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

> сделать дамп. Как я понял,

> сделать дамп. Как я понял, его можно сделать только при включенной СУБД?
Дамп у вас УЖЕ ДОЛЖЕН БЫТЬ. Все беды от того, что люди не делают резервные копии! Сейчас бы восстановились с резервной копии и не было бы проблем!

Попробуйте стартануть с пропуском последних логов, может быть запустится.

pg_resetxlog -f /папка с базой/

Если нет, то обращайтесь в список рассылки разработчиков PostgreSQL - тут только они (если смогут) помогут.

Перед тем как запускаться, советую сделать полную файловую копию всех данных в том виде, в котором они находятся прямо сейчас.

Не отрицаю, с бэкапом проблем

Не отрицаю, с бэкапом проблем бы не было.

Не получилось выполнить предложенный вами вариант. Под рутом он не дает запускать, и, как я понял, надо выполнять команду под пользователем postgres, но пароль от него мне не известен.

Для того, чтобы стать

Для того, чтобы стать пользователем postgres, выполните от root:
su - postgres

Большое спасибо! Сброс

Большое спасибо! Сброс журнала транзакций помог запустить сервис. Пойду бэкап сделаю =)

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023