LINUX.ORG.RU
ФорумAdmin

Как восстановить сервер PostgreSQL после сбоя кластера?

 ,


1

2

Здравствуйте! Помогите пожалуйста с решением проблемы.

Имеется сервер postgresql 9.6.6 на astra linux 1.6 se, который благополучно заруинили во время тестовых работ. Спросить, что именно привело к поломке или посмотреть логи - нет возможности по ряду причин.

Сервер (кластер) отказывается запускаться, в логах ошибка, что не существует роли postgres. Пробовал запустить: sudo -u postgres /usr/lib/postgresql/9.6/bin/postgres –single -D /etc/postgresql/9.6/main ПРЕДУПРЕЖДЕНИЕ: в этой системе баз данных не создано ни одной роли ПОДСКАЗКА: Вы должны немедленно выполнить CREATE USER «postgres» CREATEUSER;. СБОЙ: база данных «postgres» не существует

Я пробовал:

  1. на другой рабочий сервер подкидывать папку main целиком - ошибки те же;
  2. на другой рабочий сервер подкидывать папку base - как и ожидалось, сервер просто не видит этих баз;
  3. на другой рабочий сервер вместе с base, подкидывать ещё global - сервер не стартует, ошибка записи контрольной точки;
  4. на другом рабочем сервере в postgres создаю новую базу данных, смотрю её oid, останавливаю postgres, закидываю в папку base/%oid новой базы% файлы необходимой мне бд из папки main/base/%oid старой базы%. Сервер стартует без ошибок, но подключится к бд не даёт - «СБОЙ: cache lookup failed for relation 1247: внутренняя ошибка или отсутствуют необходимые мандатные атрибуты». Мандатные метки везде 0,0, попробовал поставить на папку флаг ccnr, но ошибка не уходит. Подскажите решение.

Восстановить интересно более всего саму структуру схем и таблиц, функции и триггеры. Сами данные собственно говоря не очень то нужны.

Перемещено hobbit из general


Вы прекрасно знаете правильный ответ. Восстановить сервер необходимо из резервной копии, которую никто не сделал перед выполнением работ.

Bloody ★★
()