powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нужна помощь, упал posgresql
21 сообщений из 21, страница 1 из 1
Нужна помощь, упал posgresql
    #38010956
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Утром обнаружилось что postgresql не работает, попытки запустить заканчиваются так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
pg_ctl: could not start server
Examine the log output.
[code]

В логе такое
[code]
>/usr/local/etc/rc.d/postgresql start
LOG:  database system was interrupted while in recovery at 2012-10-24 09:24:10 EEST
HINT:  This probably means that some data is corrupted and you will have to use the last backup for recovery.
LOG:  database system was not properly shut down; automatic recovery in progress
LOG:  redo starts at 5/5D4C8138
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
FATAL:  the database system is starting up
LOG:  record with zero length at 5/9D13B8B0
LOG:  redo done at 5/9D13B880
LOG:  last completed transaction was at log time 2012-10-24 05:17:37.98006+03
FATAL:  failed to re-find parent key in index "40361" for split pages 14342/14395
LOG:  startup process (PID 8781) exited with exit code 1
LOG:  aborting startup due to startup process failure
pg_ctl: could not start server
Examine the log output.



При чем сервер коатковременно запускается 2-3 сек и падает.
Быстрое гугление подсказало что сервер упал окончательно и нужно восстанавливать из резервной копии, но пока это не вариант.
Ночью не происходило ни каких чп, т.е. сервер не выключался и не перезагружался.
Так же ночью отработали бекапы баз данных.

Есть подозрение что данную проблему можно решить без переустановки сервера и restore database.
Прошу Вашей помощи ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011027
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде помогло это http://wruslan.rubyclub.com.ua/blogs/tag/pg_resetxlog
Сервер запустился.

Подскажите а как можно выявить причину падения ?

Или может как то проверить базу, может там есть ошибки и ситуция повторится завтра ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011043
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kharkov_maxПодскажите а как можно выявить причину падения ?
Почти всегда причина в железе. Диски, память..
1) В dmesg у вас ничего не было?
2) Каким было последнее сообщение от postgresql до падения?

[/quot]Или может как то проверить базу, может там есть ошибки и ситуция повторится завтра ...[/quot]
pg_dump -> pg_restore
Если это проходит без ошибок, база исправна с точки зрения postgresql.
На самом деле даже успешный pg_dump означает, что все ОК.
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011090
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tadmin,

После удаления индексов, 3 процесса postgresql грузят проц на 100%, но БД вроде работает.
3 процесса указано в конфиге как зарезервировано для админа, скорее всего это они...

Я правильно понимаю что сервер сейчас что то делает ?
Или это какой то косяк ?

Уже час почти так висит ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011268
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мда ...

Дождался пока процессы postgresql перешли в нормальный режим и нагрузка на проц упала, до нормальной.
Перегрузил хост, в результате получил аналогичную ошибку при запуске postgre.
Пока опять удалил логи и запустил сервер.
Вроде работает, но уверен что после перезагрузки ситуация повторится.

Как дальше быть ?
Как проверить в чем проблема ?
Может что то в конфигах и т.д. Ошибка чисто логическая ...

В железе 100% проблемы нет ....
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011321
bububu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kharkov_max,

А что делают эти три висящие процесса?
(что выдает запрос:
SELECT current_timestamp, current_timestamp - query_start, procpid, usename, current_query FROM pg_stat_activity WHERE current_query <> '<IDLE>'; -- это для 8
)
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011399
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kharkov_max, ну Вам же пишут: FATAL: failed to re-find parent key in index "40361" for split pages 14342/14395

переиндексируйте индекс с OID 40361 у Вас наверное версия postgres с ошибкой приводящей к повреждению индекса.
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011700
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bububukharkov_max,

А что делают эти три висящие процесса?
(что выдает запрос:
SELECT current_timestamp, current_timestamp - query_start, procpid, usename, current_query FROM pg_stat_activity WHERE current_query <> '<IDLE>'; -- это для 8
)

Видно что то postgres делает после удаления индексов, через некоторое время ситуация стабилизируется ...

Гостьkharkov_max, ну Вам же пишут: FATAL: failed to re-find parent key in index "40361" for split pages 14342/14395

переиндексируйте индекс с OID 40361 у Вас наверное версия postgres с ошибкой приводящей к повреждению индекса.


Собственно не особый знатог postre.

Подскажите как правильно "Переиндексировать индекс с OID 40361"
Спасибо ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011718
bububu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kharkov_max,

Узнаете, что за объект с OID 40361:

SELECT * FROM pg_class WHERE oid = 40361

Затем по полученному названию думаете что делать (drop или reindex)
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011760
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bububu,

Выполнил запрос, ответ пустой ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011825
Фотография Степан H.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kharkov_max,

Версия postgresql какая?, OS FreeBSD я так понимаю ?
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011835
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм, судя по исходникам 40361 в FATAL: failed to re-find parent key in index "40361" for split pages 14342/14395 это не OID, а name.

kharkov_max, попробуйте:
Код: sql
1.
SELECT * FROM pg_class WHERE relname = '40361';
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011859
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёш,

Тоже пусто ...

Может потому что при втором падении индекс был уже другой ...

Как проверить при работающем сервере какой индекс может быть поврежден ?
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011871
bububu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kharkov_max,

Пробуйте для начала VACUUM ANALYZE VERBOSE <tablename>
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38011915
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bububu,

Запускал проверку по базам в PGAdmin
При проверке на одной из баз

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
ERROR:  xlog flush request 203/C4370F50 is not satisfied --- flushed only to 5/AF93C558
CONTEXT:  writing block 11562 of relation base/40125/40355

********** Ошибка **********

ERROR: xlog flush request 203/C4370F50 is not satisfied --- flushed only to 5/AF93C558
SQL-состояние: XX000
Контекст: writing block 11562 of relation base/40125/40355



А на остальных базах все нормально ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38012027
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kharkov_max, это из-за Вашего pg_resetxlog, не надо было его делать.
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38012385
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёшkharkov_max, это из-за Вашего pg_resetxlog, не надо было его делать.
Возможно, но не уверен...

И так продолжу.
Не отработал ночной бекап баз.
Оказалось что сервер опять лежит ...
Специально проверил, ошибка аналогичная как в шапке темы.

А как теперь сделать reindex индексу, ведь сервер не запускается?
Как определить какой БД принадлежит этот индекс?
Может сделаь restore только это БД ...

Снова пока сделал resetxlog, но уверен что это не надолго ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38012389
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kharkov_max,

Могу выложить ошибки pg_dump, может это как то поможет ...
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38013356
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kharkov_maxА как теперь сделать reindex индексу, ведь сервер не запускается?
Как определить какой БД принадлежит этот индекс?Вам нужно прекратить ломать данные с помощью pg_resetxlog :) Дождаться этой ошибки (failed to re-find parent key), попробовать запустить сервер из консоли в однопользовательском режиме с отключенным использованием системных индексов (ключ -P) и найти в pg_class что это за индекс.
...
Рейтинг: 0 / 0
Нужна помощь, упал posgresql
    #38016583
kharkov_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёш,

Вообщем 2 дня ждал ошибку, postgre что то делал т.к. проц грузил.
Несколько баз в это время работало, а несколько нет ...

В результате удалил файлы сервера сделал initdb и откатился на целые бекапы ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Нужна помощь, упал posgresql
    #39900806
Poprygun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тормозим службу (если есть), срубаем процесс postgres (скорее всего есть).
Выполняем
Код: powershell
1.
pg_resetxlog.exe -D ../Data -f


Суть в том, что в xLog у него остались данные, которые он считает незафикшенными.
И усиленно пытается их зафиксить.
Иногда на это требуются годы..
Комада выше отсекает эти повисшие данные, что позволяет стартонуть сервер с имеющимися в БД данными.
Может потерять часть незафикшенных данных, но БД заработает.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Нужна помощь, упал posgresql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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