Здравствуйте! У меня такая проблема, как описано в теме. А теперь по порядку. ОС - XP SP3. Администратором удачно собираю постгресс 8.2.12 при помощи mingw. Далее, в папке, куда скинулись все собранные модули, запускаю программку для регистрации сервиса. Регистрирую на созданного заранее пользователя (именно пользователя, а не администратора) postgres, пароль указываю этого пользователя. Всё проходит нормально. Сервис создается. Потом перехожу в сеанс пользователя postgres, инициализирую БД программкой initdb (успешно), пытаюсь запустить сервис, выдаёт мне ошибку 5, доступ запрещен. Вот на этом я и запнулся. Кроме того, сервер нормально запускается в обычном режиме, т.е. через postgres.exe, а в режиме сервиса - отказывается. Что я делаю не так или, вероятно, просто не делаю?
Заранее благодарен возможным ответам. Это очень важно для меня.
Логи Виндоуз
Логи Виндоуз читали? Что там написано? Судя по ошибке кому-то не хватает прав! Вполне возможно вот этому пользователю postgres, на запуск сервиса.
Логи
Да, в логах пишется про то же, что пользователю запрещен доступ и указывается, что ошибка 5. Больше ничего там нет. Каким образом можно дать пользователю postgres права на запуск данного сервиса?
Вопрос скорее к
Вопрос скорее к админам Виндоуз, чем относящийся к тематике PostgreSQL.
Попробуйте например пользователя postgres включить в группу админов.
Решение проблемы
При регистрации сервиса через командную строку, просто не указываем имя пользователя (postgres) и его пароль. Сервис регистрируется, работает и запускается отлично от имени системы. Спасибо за ответы! Тему можно закрыть.
В свойствах
В свойствах сервиса (в Консоли управления) на вкладке "Вход в систему" можно указать любого пользователя, от которого производиться запуск - у меня там стоит пользователь постгреса... однако, в чем тут преимущество сказать затрудняюсь.
Проблема 2: сервис не запускается из-за postgresql.conf
Случается же такое.. опять не запускается...
. Значит так, собираю постгрес, регистрирую сервис, без указания имени пользователя и пароля, чтобы запускался от имени системы, после этого инициализирую базу. Пробую запустить сервис, выдает сообщение что службе нечего делать. В системном журнале пишет, что не может найти конфиг сервера по указанному пути.. Путь какой-то странный C:\Windows\..\pgsql\data\postgresql.conf. Как-то непонятно, где он вообще должен находиться. Вопрос как раз в том, почему постгрес не ищет его там, где он лежит (лежит он вместе с файлами БД). Может, где-то что-то прописать забыл?
вот, где у меня
вот, где у меня лежит postgresql.conf :
C:\Program Files\PostgreSQL\8.3\data
вот, как у меня прописан сервис:
runservice -w -N "pgsql-8.3" -D "C:\Program Files\PostgreSQL\8.3\data\"
вот такой командой:
sc create pgsql-8.3 binPath= "C:\Progra~1\PostgreSQL\8.3\bin\pg_ctl.exe runservice -w -N "pgsql-8.3" -D "C:\Progra~1\PostgreSQL\8.3\data\""
Попробую
Попробую обязательно, спасибо
Ошибка 1057 при регистрации сервиса
Регистрирую сервис так: pg_ctl register -N postgres_svc -w -D %windir%\PostgreSQL\data и вылазит ошибка номер 1057.
Что это за ошибка и по какой причине сервис не может быть зарегистрирован? Можно было бы организовать раздел с описанием ошибок, например.
Таковой
Таковой документ по мере сил ведётся:
http://postgresql.ru.net/docs/extented_FAQ.html
Спасибо
Спасибо
для информации
Service "service_name" faild with error: "System error. Code 1057. Имя учетной записи задано не верно или не существует, или же неверен указаный пароль".
Принято к сведению
спасибо еще раз