powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не стартует служба postgree
10 сообщений из 35, страница 2 из 2
Не стартует служба postgree
    #39225822
есть одинэсовский бэкап 14 дней давности, с его помощью можно как то восстановить текущие данные?
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225879
есть бэкап 10 дневной давности, он может помочь для восстановления текущих данных?
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225908
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрНовик,

Я не уверен, что смогу через форум помочь. Дальше начинается шаманство.
Ваш “critical system index 2662” соответствует системной таблице `pg_class`. Вот пример из моей базы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT miss.oid,miss.relname,pg_relation_filenode(miss.oid),
       t.oid,t.relname,pg_relation_filenode(t.oid)
  FROM pg_class miss
  JOIN pg_index i ON i.indexrelid = miss.oid
  JOIN pg_class t ON t.oid = i.indrelid
 WHERE miss.oid IN (2662, 2671);
oid           relname          pg_relation_filenode oid    relname   pg_relation_filenode
---- ------------------------- -------------------- ---- ----------- --------------------
2662 pg_class_oid_index                       12766 1259 pg_class                   12764
2671 pg_database_datname_index                13001 1262 pg_database                12999

В исходниках, в `src/backend/utils/cache/relcache.c` на 3285 строке начинается функция `RelationCacheInitializePhase3`, она вызывает `load_critical_index` (идёт следом) -- эта и отстреливает. Следуя дальше, приходим в `RelationBuildDesc` (строка 941).
Эта (последняя) функция сканирует `pg_class` чтобы найти описание таблицы. Но т.к. мы ищем информацию о самой `pg_class`, то получается уловка 22.

Копировать файлы откуда-то смысла не имеет, т.к. вам нужен ваш список таблиц, а не сторонний.

Нужно вооружаться каким-нить HEX-редактором, держать формат блоков Postgres'а открытм и смотреть руками, что же там полетело.
Я такими вещами не занимался, это будет долго в любом случае. Если только некоторые биты побиты, то можно что-то подправить. Если данных не хватает кусками, то это будет фатально.
Возможно в интернетах есть утилиты от кого-то из хакеров, которые частично позволяют автоматизировать этот процесс, но придётся собирать из исходников.

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

P.S. Может кто-то ещё что сможет подсказать.

P.P.S. Если так всё критично, где же бэкапы?!
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225937
Если вы еще тут то есть вопрос, к данной ошибке (Panic: index 2671) привели шаманства с первой проблемой, т.е. то что я писал в самом начале, может быть если пойти иным путём, у меня есть копия БД до монипуляций с ней. Может можно было не используя pg_resetxlog что то сделать для восстановления запуска службы?
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225949
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрНовикесть бэкап 10 дневной давности, он может помочь для восстановления текущих данных?

Текущих - нет. 10 дневной давности - да.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225952
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрНовик Выполнил остановку:
c:\Program Files\PostgreSQL\9.4.2-1.1C\bin>pg_ctl -D e:\pql -m fast stop
waiting for server to shut down.... done
server stopped

Попытка запуска завершается ошибкой:
c:\Program Files\PostgreSQL\9.4.2-1.1C\bin>postgres --single -D E:\PQL KAP
2016-04-27 20:37:28 IRKT PANIC: could not open critical system index 2662

Если не запускается что делать?

Меня отправят на пожизненое рабоство, есл иона не запустится к завтра (

И таки получается что то сделать при запуске в single user c ключем -P
?

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39225970
Maxim Boguk
И таки получается что то сделать при запуске в single user c ключем -P
?



c:\Program Files\PostgreSQL\9.4.2-1.1C\bin>postgres --single -D E:\PQL -P KAP
2016-04-27 22:30:52 IRKT PANIC: could not open critical system index 2662
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39226042
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрНовикMaxim BogukИ таки получается что то сделать при запуске в single user c ключем -P
?



c:\Program Files\PostgreSQL\9.4.2-1.1C\bin>postgres --single -D E:\PQL -P KAP
2016-04-27 22:30:52 IRKT PANIC: could not open critical system index 2662

Плохо. Очень плохо. Я бы на backup 10 дневной давности согласился в такой ситуации.
И больше никогда бы не выключал сервера по питанию.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39226113
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлександрНовикc:\Program Files\PostgreSQL\9.4.2-1.1C\bin>postgres --single -D E:\PQL -P KAP
2016-04-27 22:30:52 IRKT PANIC: could not open critical system index 2662
Если есть страсть к приключениям, вы можете попробовать подсунуть соответствующие файлы из 10-дневного бэкапа в упавший кластер. Судя по всему хуже уже не будет...
...
Рейтинг: 0 / 0
Не стартует служба postgree
    #39233904
всем спасибо за помощ, БД умерла (
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не стартует служба postgree
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]