Страница 1 из 2

Не закрывается процесс postgres.exe

Добавлено: 22 сен 2015, 17:04
Helldar
Заметил такую проблему: при первом запуске после включения компа Open Server запускается без проблем. Стоит его перезапустить, как выходит ошибка:
2015-09-22 21:56:29 --------------------------------------------
2015-09-22 21:56:29 Начало процедуры запуска сервера
2015-09-22 21:56:29 Обновление Hosts файла
2015-09-22 21:56:29 Обновление конфигурации MariaDB-10
2015-09-22 21:56:29 Обновление конфигурации Sendmail
2015-09-22 21:56:29 Обновление конфигурации PHP-5.6
2015-09-22 21:56:29 Обновление конфигурации PHPMyAdmin
2015-09-22 21:56:29 Обновление конфигурации MemcacheAdmin
2015-09-22 21:56:29 Обновление конфигурации Apache-2.4+Nginx-1.9
2015-09-22 21:56:29 Запуск Memcached-1.4
2015-09-22 21:56:29 Запуск PostgreSQL-9.4
2015-09-22 21:56:29 Запуск MariaDB-10
2015-09-22 21:56:29 Запуск Apache-2.4+Nginx-1.9
2015-09-22 21:56:29 Проверка состояния сервера
2015-09-22 21:57:01 Не удалось запустить PostgreSQL-9.4
2015-09-22 21:57:01 Сбой запуска!
2015-09-22 21:57:01 --------------------------------------------
2015-09-22 21:57:01 Начало процедуры остановки сервера
2015-09-22 21:57:01 Остановка системных модулей
2015-09-22 21:57:04 Отключение виртуального диска
2015-09-22 21:57:04 Сервер успешно остановлен за 2,184 секунд!
Проблема оказалось тривиальной: при остановке сервера не закрывался процесс postgres.exe. "Убив" его вручную через таск менеджер, Open Server вновь сразу запускался... до очередного перезапуска...

Добавлено: 22 сен 2015, 18:59
Максим
Остановите сервер (первый раз когда пытаетесь нормально) и покажите лог PostgreSQL.

Добавлено: 23 сен 2015, 16:36
Helldar
Вчера работал. Сегодня включил комп и изначально сразу не запускается.

Установил еще одну копию Open Server в другую папку - там все нормально.

После этого запускаю нужный сервер - проблем нет.
2015-09-23 21:37:17 --------------------------------------------
2015-09-23 21:37:17 Начало процедуры запуска сервера
2015-09-23 21:37:17 Обновление Hosts файла
2015-09-23 21:37:17 Обновление конфигурации MariaDB-10
2015-09-23 21:37:17 Обновление конфигурации Sendmail
2015-09-23 21:37:17 Обновление конфигурации PHP-5.6
2015-09-23 21:37:17 Обновление конфигурации PHPMyAdmin
2015-09-23 21:37:17 Обновление конфигурации MemcacheAdmin
2015-09-23 21:37:17 Обновление конфигурации Apache-2.4+Nginx-1.9
2015-09-23 21:37:17 Запуск Memcached-1.4
2015-09-23 21:37:17 Запуск PostgreSQL-9.4
2015-09-23 21:37:17 Запуск MariaDB-10
2015-09-23 21:37:17 Запуск Apache-2.4+Nginx-1.9
2015-09-23 21:37:17 Проверка состояния сервера
2015-09-23 21:37:18 Cервер успешно запущен за 1,311 секунд!
2015-09-23 21:37:34 --------------------------------------------
2015-09-23 21:37:34 Начало процедуры остановки сервера
2015-09-23 21:37:34 Остановка системных модулей
2015-09-23 21:38:07 Отключение виртуального диска
2015-09-23 21:38:07 Сервер успешно остановлен за 33,041 секунд!
Но после остановки также как в первом посте - процесс postgres.exe остался активным.
Сейчас попробовал переименовать папку с новой установкой - выдало ошибку блокировки.
Unlocker показал блокировку процессом (см. скриншот).

[upd=1443016129][/upd]
Переименовал "новую" копию как при установке:
c:\123\OpenServer\
Запустил нужный сервер:
f:\OpenServer\
Смотрю через Unlocker блокировки к "новой" папке и ничего не понимаю как так?
В реестре пути "c:\123\OpenServer\" не прописано...

[upd=1443016416][/upd]
По ключевой фразе "PostgreSQL-9.4" при поиске в реестре выдало 4 записи, указывающих на "нужную" папку:
f:\OpenServer\modules\database\PostgreSQL-9.4\

Добавлено: 23 сен 2015, 17:18
Helldar
Итак, анализируем:
Удаляю ПО из папки "c:\123\OpenServer\".
Делаю снимок реестра через Reg Organizer.
Устанавливаю копию Open Server в папку c:\456\OpenServer\
Запускаю нужный мне сервер - ошибка запуска.
Делаю второй снимок реестра и сравниваю с первым - ничего нового нет.
Удаляю папку f:\OpenServer\modules\database\PostgreSQL-9.4\
Копирую из "новой" папки c:\456\OpenServer\modules\database\PostgreSQL-9.4\ - результата ноль. Ошибка.

Идем дальше:
Удаляю папку f:\OpenServer\userdata\PostgreSQL-9.4\ - ошибка

Запускаю "новый" сервер c:\456\OpenServer\Open Server x64.exe, иду в настройки и активирую PostgreSQL 9.4. Запускаю: сервер успешно запущен.
Останавливаю его.
Запускаю нужный: вновь ошибка

Удаляю созданную папку в нужном сервере: f:\OpenServer\userdata\PostgreSQL-9.4\
И копирую из "новой" копии:
c:\456\OpenServer\userdata\PostgreSQL-9.4\

Запускаю "нужный" - все отлично.

Делаю новый снимок реестра и сравниваю его с первым - ничего нового.

Значит, проблема в файлах.
Иду в скопированную в "нужный" сервер папку:
f:\OpenServer\userdata\PostgreSQL-9.4\
И делаю запрос "456" по содержимому (см. скриншот).
Нашлись. Перебираем, начиная с файла "postgresql.conf":
data_directory = 'c:/456/openserver/userdata/PostgreSQL-9.4'		# use data in another directory
# (change requires restart)
hba_file = 'c:/456/openserver/userdata/PostgreSQL-9.4/pg_hba.conf'	# host-based authentication file
# (change requires restart)
ident_file = 'c:/456/openserver/userdata/PostgreSQL-9.4/pg_ident.conf'	# ident configuration file
# (change requires restart)

# If external_pid_file is not explicitly set, no extra PID file is written.
external_pid_file = 'c:/456/openserver/userdata/temp/postgresql.pid'		# write an extra PID file
# (change requires restart)
Ясно-понятно. Переименовываем "новую" копию в c:\456\OpenServer_2\, дабы изменить путь.
Теперь изменяем пути на корректный. Проверяем - ничего.
Ищем путь в других файлах.
postmaster.opts

Заеняем:
C:/456/openserver/modules/database/PostgreSQL-9.4/bin/postgres.exe "-D" "c:/456/openserver/userdata/PostgreSQL-9.4"

на
F:/openserver/modules/database/PostgreSQL-9.4/bin/postgres.exe "-D" "F:/openserver/userdata/PostgreSQL-9.4"
Результата ноль...

Добавлено: 23 сен 2015, 17:34
Максим
Helldar, вам нечем заняться? К чему все эти расследования? Тут и ежу понятно, что у вас Open Server не может остановить PostgreSQL. Может наконец покажете то, что я просил?

Добавлено: 23 сен 2015, 17:52
Helldar
Идем дальше. Удаляю "новую" копию и устанавливаю вновь, указав путь для распаковки: c:\sdcer1grg54ryhty4r6tg84etb6ty4ntyn\

Итак, перед запуском новой версии удаляю папку f:\OpenServer\userdata\PostgreSQL-9.4\ и пытаюсь запустить сервер...
Результат отрицательный.
2015-09-23 22:22:11 --------------------------------------------
2015-09-23 22:22:11 Начало процедуры запуска сервера
2015-09-23 22:22:11 Обновление Hosts файла
2015-09-23 22:22:11 Обновление конфигурации MariaDB-10
2015-09-23 22:22:11 Обновление конфигурации Sendmail
2015-09-23 22:22:11 Обновление конфигурации PHP-5.6
2015-09-23 22:22:11 Обновление конфигурации PHPMyAdmin
2015-09-23 22:22:11 Обновление конфигурации MemcacheAdmin
2015-09-23 22:22:11 Обновление конфигурации Apache-2.4+Nginx-1.9
2015-09-23 22:22:11 Запуск Memcached-1.4
2015-09-23 22:22:11 Запуск PostgreSQL-9.4
2015-09-23 22:22:11 Запуск MariaDB-10
2015-09-23 22:22:11 Запуск Apache-2.4+Nginx-1.9
2015-09-23 22:22:11 Проверка состояния сервера
2015-09-23 22:22:45 Не удалось запустить PostgreSQL-9.4
2015-09-23 22:22:45 Сбой запуска!
2015-09-23 22:22:45 --------------------------------------------
2015-09-23 22:22:45 Начало процедуры остановки сервера
2015-09-23 22:22:45 Остановка системных модулей
2015-09-23 22:22:46 Отключение виртуального диска
2015-09-23 22:22:46 Сервер успешно остановлен за 1,732 секунд!
Что ж, заменяем содержимое папки f:\OpenServer\modules\database\PostgreSQL-9.4\ на c:\sdcer1grg54ryhty4r6tg84etb6ty4ntyn\OpenServer\modules\database\PostgreSQL-9.4\ и вновь видим строку:
2015-09-23 22:24:48 Не удалось запустить PostgreSQL-9.4
Ладно, делаю поиск в реестре по имени папки: "sdcer1grg54ryhty4r6tg84etb6ty4ntyn". Совпадений 0.
Далее ищу внутри файлов:
c:\sdcer1grg54ryhty4r6tg84etb6ty4ntyn\OpenServer\modules\database\PostgreSQL-9.4\ - не найдено.

Странно... Запускаю копию "нового" сервера - вуаля! Все работает... останавливаем...

Удаляем содержимое папки f:\OpenServer\userdata\PostgreSQL-9.4\ и запускаем "нужный" сервер: ошибка!

Копируем данные из новой папки c:\sdcer1grg54ryhty4r6tg84etb6ty4ntyn\OpenServer\userdata\PostgreSQL-9.4\ и запускаем:
2015-09-23 22:29:24 --------------------------------------------
2015-09-23 22:29:24 Начало процедуры запуска сервера
2015-09-23 22:29:24 Обновление Hosts файла
2015-09-23 22:29:24 Обновление конфигурации MariaDB-10
2015-09-23 22:29:24 Обновление конфигурации Sendmail
2015-09-23 22:29:24 Обновление конфигурации PHP-5.6
2015-09-23 22:29:24 Обновление конфигурации PHPMyAdmin
2015-09-23 22:29:24 Обновление конфигурации MemcacheAdmin
2015-09-23 22:29:24 Обновление конфигурации Apache-2.4+Nginx-1.9
2015-09-23 22:29:24 Запуск Memcached-1.4
2015-09-23 22:29:24 Запуск PostgreSQL-9.4
2015-09-23 22:29:24 Запуск MariaDB-10
2015-09-23 22:29:24 Запуск Apache-2.4+Nginx-1.9
2015-09-23 22:29:24 Проверка состояния сервера
2015-09-23 22:29:25 Cервер успешно запущен за 1,295 секунд!
О как! Ищем в папке f:\OpenServer\userdata\PostgreSQL-9.4 по фразе sdcer1grg54ryhty4r6tg84etb6ty4ntyn внутри файлов. Нашел 3: postmaster.opts, postgresql.conf и global/config_exec_params
Чтож, заменяем содержимое файлов, исправив путь на нужный:
2015-09-23 22:32:51 Cервер успешно запущен за 1,326 секунд!
Итак, значит где-то что-то не то хранится... Разбираемся.

Останавливаем сервер, удаляем "новую" копию.

Также удаляем содержимое директорий:
f:\OpenServer\userdata\PostgreSQL-9.4\
f:\OpenServer\modules\database\PostgreSQL-9.4\
Reg Organizer позволяет устанавливать программы с отслеживанием изменений не только в реестре, но и в файлах. Но после установки мы НЕ БУДЕМ закрывать окно для повторного отслеживания, а сделаем вот как:

1. Запускаем установку файла open_server_5_2_3_ultimate.exe с отслеживанием и проводим первый этап сканирования.
2. Распаковываем сервер по пути C:\dfbmu7uyunrt. Теперь Reg Organizer ждет нажатия кнопки для повторного сканирования, но вместо этого мы:
3. копируем папку c:\dfbmu7uyunrt\OpenServer\modules\database\PostgreSQL-9.4\ в f:\OpenServer\modules\database\PostgreSQL-9.4\
4. Запускаем "нужный" сервер - ошибка.
5. В настройках "нужного" сервера у нас уже был выбран постгре. Изменяем настройки на "не использовать", сохраняемся. Запускаем сервер - все ок.
6. Останавливаем сервер, в настройках изменяем параметр, выбрав PostgreSQL 9.4. Сохраняемся и запускаем - ошибка.
7. Идем вновую установленную копию - настройки, выбираем PostgreSQL 9.4 и запускаем - все ок.
8. Останавливаем сервер.
9. Копируем содержимое папки c:\dfbmu7uyunrt\OpenServer\userdata\PostgreSQL-9.4\ и убеждаемся что нужный сервер работает.
10. Возвращаемся в Reg Organizer и нажимаем кнопку "Вперед>" для второго сканирования и анализа изменений.
11. Жмем "Показать отслеженные изменения в системе":
11.1. На вкладке "Реестр" ничего особенного.
11.2. На вкладке "Файловая система" видим обращения и к "новой" версии, и к "нужной". Исследуем (рис 3) и ничего не видим. Единственные места, содержащие путь к новой копии ("dfbmu7uyunrt") - это файлы postmaster.opts, postgresql.conf и global/config_exec_params

Добавлено: 23 сен 2015, 18:02
Helldar
Максим писал(а):Helldar, вам нечем заняться? К чему все эти расследования? Тут и ежу понятно, что у вас Open Server не может остановить PostgreSQL. Может наконец покажете то, что я просил?
Как, если у меня ничего не запускается?
Разве что если вывернуться на изнанку?
Хорошо. Делаю то, что просите:
1. Устанавливаю "новую" версию
2. Запускаю "новую" копию
3. Копирую папку c:\dfbmu7uyunrt\OpenServer\userdata\PostgreSQL-9.4\ в f:\OpenServer\userdata\PostgreSQL-9.4\
4. Запускаю "нужную". Вот лог:
2015-09-23 23:01:15 --------------------------------------------
2015-09-23 23:01:15 Начало процедуры запуска сервера
2015-09-23 23:01:15 Обновление Hosts файла
2015-09-23 23:01:15 Обновление конфигурации MariaDB-10
2015-09-23 23:01:15 Обновление конфигурации Sendmail
2015-09-23 23:01:15 Обновление конфигурации PHP-5.6
2015-09-23 23:01:15 Обновление конфигурации PHPMyAdmin
2015-09-23 23:01:15 Обновление конфигурации MemcacheAdmin
2015-09-23 23:01:15 Обновление конфигурации Apache-2.4+Nginx-1.9
2015-09-23 23:01:15 Запуск Memcached-1.4
2015-09-23 23:01:15 Запуск PostgreSQL-9.4
2015-09-23 23:01:15 Запуск MariaDB-10
2015-09-23 23:01:15 Запуск Apache-2.4+Nginx-1.9
2015-09-23 23:01:15 Проверка состояния сервера
2015-09-23 23:01:16 Cервер успешно запущен за 1,279 секунд!
2015-09-23 23:01:20 --------------------------------------------
2015-09-23 23:01:20 Начало процедуры остановки сервера
2015-09-23 23:01:20 Остановка системных модулей
2015-09-23 23:01:54 Отключение виртуального диска
2015-09-23 23:01:54 Сервер успешно остановлен за 33,181 секунд!
[upd=1443020627][/upd]
При этом, сервер запущен из пути f:\OpenServer\Open Server x64.exe, а именно postgre.sql: c:\dfbmu7uyunrt\OpenServer\modules\database\PostgreSQL-9.4\bin\

Добавлено: 23 сен 2015, 18:04
Максим
Helldar, я вас не просил ничего никуда копировать и не просил показывать мне главный лог программы. То что я просил вы до сих пор не сподобились показать.

Добавлено: 23 сен 2015, 18:08
Helldar
Максим писал(а):Остановите сервер (первый раз когда пытаетесь нормально) и покажите лог PostgreSQL.
Этого НЕТ. НЕ ЗАПУСКАЕТСЯ ОН!
Как мне еще Вам это объяснить?
Из папки f:\OpenServer\, куда устанавливал его раннее, он НЕ ЗАПУСКАЕТ PostgreSQL вообще.
Распаковал новую копию в папку c:\dfbmu7uyunrt\OpenServer\, оттуда скопировал PostgreSQL - НЕ ЗАПУСКАЕТСЯ.

Лог PostgreSQL ПУСТ.

[upd=1443021109][/upd]
Это при успешном запуске сервера. В настройках галка "Вести лог запросов" включена

[upd=1443021177][/upd]
При остановке сервера также лог пуст

Добавлено: 23 сен 2015, 18:13
Максим
Helldar, вы только что доказывали и показали что у вас первый раз на чистом сервере всё запускается нормально. И на показанном вами логе прекрасно видно, что сервер, в том числе и PostgreSQL-9.4 прекрасно запускается. В этом состоянии сервер нужно остановить и показать мне лог PostgreSQL. То, что на самом деле PostgreSQL не остановится - не имеет значения.

Так почему же вы сейчас утверждаете обратное, что у вас ничего не запускается первый раз? Путаетесь в собственных словах? Лог покажете наконец или как?