Не удалось запустить PostgreSQL в качестве службы Windows

У меня это было в моих службах Windows:

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

Он никогда не заканчивает выполнение. Но если я сделал это в оболочке dos:

C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe start -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w

Обратите внимание, что я только изменил "runervice" на "start", и он отлично работает.

Любая идея?

Ответы

Ответ 1

Команда runervice может выполняться только менеджером службы

чтобы исправить мои локальные окна 7 для запуска postgres как службы я использовал следующую команду для запуска данных

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" start 

Затем проверено состояние ошибок

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" status 

если вы получите ошибку 1063, ее более чем вероятные разрешения, я выполнил следующую команду

 cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F

а затем запустите start/status, он показал все хорошо, но менеджер сервиса еще не запустил службу

Итак, в Services- > postgresql- > options- > logon я устанавливаю журнал как локальную системную учетную запись вместо пользователя postgres, а voila работает

Ответ 2

это случилось со мной, потому что я установил, что мой каталог данных находится где-то в учетной записи пользователя windows postgres, у которого не было доступа.

Ответ 3

У меня возникла эта проблема в Windows после сбоя системы. Выполнение первой команды показало неверные данные в C:\Program Files\PostgreSQL\9.1\data\postmaster.pid. Удаление этого файла сделало трюк. Ссылка.

Ответ 4

У меня возникла такая же проблема после перемещение вручную файлов данных базы данных (каталог PG_DATA) без повторного создания всех необходимых разрешений.

Вот как я решил свою проблему:

1. Проверить разрешения на старый каталог PG_DATA:

cacls "c:\path\to\old\pgdata\dir"

2. Проверьте разрешения на новый каталог PG_DATA:

cacls "d:\path\to\NEW\pgdata\dir"

3. Сравните выходы от 1. и 2.

Найдите различия между пользователями и/или разрешениями, затем синхронизируйте их.

Nota: Мне было проще использовать explorer для шага синхронизации, а не использовать cacls непосредственно из командной строки.

Ответ 5

Вам нужно проверить свои логфайлы и оконный журнал windows для некоторого намека на то, что проблема. Если там вообще ничего нет, вам нужно прорвать что-то вроде Process Monitor и получить стек, где он висел.

Ответ 6

У меня была эта проблема в прошлом, и это было то, что установщик не правильно настроил разрешения для пользователя, чтобы служба запускалась как.

Ответ 7

Если вы изменили pg_hba.conf, возможно, вы пропустили где-то в файле. Например, в этом файле должен быть CIDR после IP. Это должно быть как 192.168.1.100/32

Если вы забыли поставить 32, то сервер не перезагружается.

Исследование журналов запуска может быть подсказкой. Для случая кейса в pg_hba.conf вы можете увидеть что-то вроде этого:

2018-11-13 00:39:34.841 PST [8284] FATAL:  could not load pg_hba.conf
2018-11-13 00:39:34.842 PST [8284] LOG:  database system is shut down

Ответ 8

Установка PostgreSQL 10 в Windows 7 (да, часы тикают...). Сначала я попробовал последнюю версию 11, которую не удалось установить... не очень хороший знак для пользователей Windows. Тем не мение.

Быстрый ответ. Измените учетную запись на панели "Службы Windows" с "Сеть" на "Локальная".

Подробности моего дела

Во время установки я создал/выбрал папку данных в папке профиля пользователя, потому что, очевидно, папка, предложенная по умолчанию в папке программы, не будет работать, и если она сработает, было бы очень удобно поместить данные сюда (я не Не знаю, обычно ли это делается в Unix/Linux, но для Windows это не разрешено с давних времен).

В конце (при заполнении кластера данных) я получил ошибку:

Не удалось загрузить модули SQL в кластер базы данных

но установка смогла завершиться. Я нашел две страницы о предыдущей ошибке, здесь и здесь, но они, похоже, не относились к моему делу, поэтому я просто запустил pgAmin и в левом "браузере" увидел, что сервер не активен.

Я попытался запустить его отсюда (пришлось ввести основной пароль), но он сразу же снова стал неактивным. Поэтому я попытался использовать панель служб Windows, чтобы запустить "postgresql-x64-10", без радости. Я скопировал команду из этой панели и вставил ее в консоль Windows (cmd.exe), где я наконец получил это

ошибка 1063

Поиск Я нашел этот связанный вопрос, и был убежден, что проблема была в разрешениях.

Решение работает для моего случая

На панели служб я изменил учетную запись, используемую для запуска службы, с сетевой службы на локальную систему, как это было предложено в комментарии @AlexanderRios.

Ответ 9

откройте pgAdmin III и затем в правой панели найдите сервер, затем просто щелкните правой кнопкой мыши и подключитесь, введите пароль. после подключения зайдите в браузер и обновите ODOO. Задача решена.

Смотрите изображение, чтобы лучше понять

enter image description here