Обсуждение: Re: server process was terminated by exception 0xC00000FD
Добрый!
Вы правы, 0xC00000FD - это STATUS_STACK_OVERFLOW (https://msdn.microsoft.com/en-us/library/cc704588.aspx).
Поиски корневой причины я бы искал, начиная расследование от конкретного SQL-запроса, вызвавшего сбой.
Зная SQL-запрос, будем иметь два варианта развития событий:
1. тюнить max_stack_depth, если это проблема запроса;
2. оформлять и править баг postgresql, если это проблема реализации СУБД.
Если проблема не единичная (т.е. воспроизводится не однократно, а периодически), в расследовании может помочь логирование запросов в файл. На живой промышленной среде, однако, применять по понятным причинам не рекомендую.
postgresql.conf
logging_collector = on
log_statement = 'all'
2017-12-27 10:10 GMT+03:00 Максим Мохна <lavage.vrn@gmail.com>:
Добрый день, уважаемые гуру.В один прекрасный рабочий день ничего не предвещало беды, но внезапно аварийно остановилась СУБД PostgreSQL. Вместе с этим, соответственно прилегло отдохнуть 17 БД.Что мы обнаружили:Была остановлена windows служба PostgreSQL.- Аптайм сервера 215 дней- В системном логе ОС – пусто.- В логе PostgreSQL – «2017-12-26 14:29:48 MSK LOG: 00000: server process (PID 6996) was terminated by exception 0xC00000FD»- проблемы начались после появления данной строчки.Google подсказал, что этот код указывает на проблему переполнения стека, но конкретных корневых причин мы так и не нашли.Со стороны железа, проблем не обнаружено, до сбоя память нагружена в рабочем режиме (скрины ниже)Подскажите, пожалуйста, в какой стороне искать причины данного сбоя? Что всё таки в корне означает эта ошибка?Если у вас будут рекомендации, как этого избежать в будущем, то мы будем вам очень признательны.Хорошего дня.______________________________С уважением, Мохна Максим.________________ E-mail: lavage.vrn@gmail.com