Невозможно запустить PostgreSQL как службу Windows - PullRequest
23 голосов
/ 09 августа 2009

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

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

Это никогда не заканчивается выполнением. Но если бы я сделал это на DOS Shell:

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

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

Есть идеи?

Ответы [ 9 ]

33 голосов
/ 13 июля 2012

Команда runservice может быть выполнена только менеджером сервиса

чтобы исправить мой localhost windows 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

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

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

11 голосов
/ 22 февраля 2011

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

4 голосов
/ 25 июля 2016

Я столкнулся с той же проблемой после перемещения вручную файлов данных базы данных (каталог 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.

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

Примечание: Мне показалось, что проще использовать explorer для этапа синхронизации, а не cacls непосредственно из командной строки.

4 голосов
/ 06 декабря 2013

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

3 голосов
/ 13 августа 2016

Если вы изменили 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
2 голосов
/ 27 августа 2009

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

2 голосов
/ 10 августа 2009

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

0 голосов
/ 08 мая 2019

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

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

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

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

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

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

но установка была завершена. Я обнаружил две страницы о предыдущей ошибке, здесь и здесь , но они не показались относящимися к моему случаю, поэтому я просто запустил pgAdmin и в левом «браузере» увидел сервер не был активен.

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

ошибка 1063.

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

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

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

0 голосов
/ 01 марта 2018

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

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...