Ситуация такая, стоит PostgreSQL 8.3.3.8160 на WindowsXP SP2, сначало работал стабильно, потом случилась т.с. "вирусная эпидемия" на системе, после чистки и последующего восстановления системы (ставил поверх), служба PostgreSQL отказалась запускаться (была ошибка: не удалось создать файл блокировки "postmaster.pid": Permission denied), удалил PostgreSQL и установил заново, сервис запустился, но теперь периодически падает (с интервалом 2-12 часов). Даже и не знаю в чём проблема.
Лог PostgreSQL:
2009-11-05 08:57:47 KRAT LOG: система была отключена: 2009-11-05 08:57:38 KRAT 2009-11-05 08:57:47 KRAT LOG: loaded library "$libdir/plugins/plugin_debugger.dll" 2009-11-05 08:57:47 KRAT FATAL: система баз данных стартует 2009-11-05 08:57:50 KRAT LOG: DATABASE system IS ready TO accept connections 2009-11-05 08:57:51 KRAT LOG: autovacuum launcher started 2009-11-05 08:57:52 KRAT LOG: loaded library "$libdir/plugins/plugin_debugger.dll" 2009-11-05 08:58:01 KRAT LOG: loaded library "$libdir/plugins/plugin_debugger.dll" 2009-11-05 08:59:46 KRAT LOG: loaded library "$libdir/plugins/plugin_debugger.dll" 2009-11-05 09:17:59 KRAT PANIC: could NOT LOCK semaphore: error code 0 This application has requested the Runtime TO terminate it IN an unusual way. Please contact the applications support team FOR more information. 2009-11-05 09:20:25 KRAT LOG: WAL writer process (PID 3008) завершился с кодом выхода 3 2009-11-05 09:20:25 KRAT LOG: завершение любых других активных серверных процессов 2009-11-05 09:20:25 KRAT WARNING: закрытие подсоединения по причине упада другого серверного процесса 2009-11-05 09:20:25 KRAT ПОДРОБНОСТИ: The postmaster has commanded this server process TO roll back the current transaction AND exit, because another server process exited abnormally AND possibly corrupted shared memory. 2009-11-05 09:20:25 KRAT ПОДСКАЗКА: IN a moment you should be able TO reconnect TO the DATABASE AND repeat your command. 2009-11-05 09:20:25 KRAT WARNING: закрытие подсоединения по причине упада другого серверного процесса 2009-11-05 09:20:25 KRAT ПОДРОБНОСТИ: The postmaster has commanded this server process TO roll back the current transaction AND exit, because another server process exited abnormally AND possibly corrupted shared memory. 2009-11-05 09:20:25 KRAT ПОДСКАЗКА: IN a moment you should be able TO reconnect TO the DATABASE AND repeat your command. 2009-11-05 09:20:26 KRAT LOG: все серверные процессы завершены... переинициализация 2009-11-05 09:20:27 KRAT FATAL: pre-existing shared memory block IS still IN USE 2009-11-05 09:20:27 KRAT ПОДСКАЗКА: CHECK IF there are any old server processes still running, AND terminate them.
Запись в журнале событий:
Тип события: Ошибка Источник события: Application Error Категория события: (100) Код события: 1000 Дата: 05.11.2009 Время: 9:19:01 Пользователь: Н/Д Компьютер: PROG Описание: Ошибка приложения postgres.exe, версия 8.3.3.8160, модуль postgres.exe, версия 8.3.3.8160, адрес 0x00249e39. Данные: 0000: 41 70 70 6c 69 63 61 74 Applicat 0008: 69 6f 6e 20 46 61 69 6c ion Fail 0010: 75 72 65 20 20 70 6f 73 ure pos 0018: 74 67 72 65 73 2e 65 78 tgres.ex 0020: 65 20 38 2e 33 2e 33 2e e 8.3.3. 0028: 38 31 36 30 20 69 6e 20 8160 IN 0030: 70 6f 73 74 67 72 65 73 postgres 0038: 2e 65 78 65 20 38 2e 33 .exe 8.3 0040: 2e 33 2e 38 31 36 30 20 .3.8160 0048: 61 74 20 6f 66 66 73 65 at offse 0050: 74 20 30 30 32 34 39 65 t 00249e 0058: 33 39 39
2009-11-05 09:17:59 KRAT
2009-11-05 09:17:59 KRAT PANIC: could NOT LOCK semaphore: error code 0
Видимо проблема в этом.
Первое, что я бы вам посоветовал - обновиться до последней версии ветки 8.3.x
На всякий случай перед обновлением, сделайте резервную копию ваших баз данных.
Мда, времени многовато
Мда, времени многовато прошло...
Вообщем проблема оказалась в самих "клиентах", а точнее в одном из них, после его переустановки, PostgreSQL перестал падать.
Ну и к слову, по прошлой ошибке (сейчас опять столкнулся):
В прошлый раз восстанавливал, а достаточно было добавить права учётной записи PostgreSQL на каталог с базой.