Назад | Перейти на главную страницу

Служба postgresql повреждена, как я могу воссоздать службу?

Недавно меня обманом заставили запустить одну из тех программ очистки реестра (RegistryBooster).

Казалось, что все работает нормально, пока я не попытался запустить службу postgres.

По какой-то причине «путь к исполняемому файлу» больше не задавался на странице свойств службы и, очевидно, не запускался без пути.

Как я могу исправить существующую службу или удалить / переустановить только службу, не переустанавливая postgres вообще?

Postgres 8.4 Windows XP с пакетом обновления 3 (SP3)

РЕДАКТИРОВАТЬ: Пытаясь исправить это, я случайно удалил службу. Таким образом, возникает вопрос: как мне переустановить службу, не устанавливая заново весь postgres?

Спасибо еще раз...

Попробуйте добавить / изменить ключ "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ pgsql-8.4 \ ImagePath" в реестре (изменить версию и каталог данных):

"C:\Program Files\PostgreSQL\8.4\bin\pg_ctl.exe" runservice -w -N "pgsql-8.4" -D "C:\Program Files\PostgreSQL\8.4\data\"

или выполните команду: "C: \ Program Files \ PostgreSQL \ 8.4 \ bin \ pg_ctl.exe" runservice -w -N "pgsql-8.4" -D "C: \ Program Files \ PostgreSQL \ 8.4 \ data \"

Если не поможет, вам нужно будет переустановить PostgreSQL.

У меня было две разные установки PostgreSQL, где служба в конечном итоге самопроизвольно перестала работать, я думаю, из-за проблем с разрешениями после крупного обновления Windows (и определенно не из-за очистки реестра!).

Но в любом случае я подумал, что стоит отметить, что то, что @ pstanton's говорит в комментарии к ответу @alvosu, действительно является лучшим ответом, а именно:

Чтобы удалить службу:

pg_ctl unregister -N "PostgreSQL 9.6 Server"

(используйте короткое имя, которое действительно имеет ваша служба)

затем переустановить

pg_ctl register -N "PostgreSQL 9.6 Server"

Вам нужно добавить флаг -D "C:\Program Files\PostgreSQL\data\pg96" (или любой другой правильный путь) к команде регистрации, если у вас нет PGDATA набор переменных среды.