2012-12-14 5 views
5

Я пытаюсь установить PostgreSQL 9.2 в течение последних нескольких дней. Наверное, я пробовал все, что мог найти в Интернете, но служба все равно не запустится. В настоящее время я запускаю Windows 7 SP1. Я использовал PostgreSQL 8.3 и работал нормально, но пару недель назад я решил удалить его. Я полностью удалил его (удалил пользователя postgres и файл данных), и теперь каждый раз, когда я пытаюсь установить любую версию, я получаю эту нефатальную ошибку в конце установки, когда происходит загрузка модулей базы данных. Мне удалось увидеть, что служба postgresql не запускается или окна не запускаются, а затем останавливаются. Это соответствующая часть файла журнала установки:Postgresql не удалось установить исправление

Успешно обработано 771 файл; Ошибка обработка 0 файлов

initcluster.vbs побежал к завершению

STDERR Сценарий:

 
Configuring database server startup... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startupcfg.vbs" 9.2 "NT AUTHORITY\NetworkService" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2" 
Script exit code: 0 

Script output: 
startupcfg.vbs ran to completion 

Script stderr: 

Creating menu shortcuts... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\createshortcuts.vbs" 9.2 "postgres" 5432 "PostgreSQL 9.2 (x86)" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2" 
Script exit code: 0 

Script output: 
Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\serverctl.vbs)... 
    Opening file for reading... 
    Closing file (reading)... 
    Replacing placeholders... 
    Opening file for writing... 
    Closing file... 
    End FixupFile()... 
Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\runpsql.bat)... 
    Opening file for reading... 
    Closing file (reading)... 
    Replacing placeholders... 
    Opening file for writing... 
    Closing file... 
    End FixupFile()... 
createshortcuts.vbs ran to completion 

Script stderr: 


Starting the database server... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startserver.vbs" postgresql-9.2 
Script exit code: 0 

Script output: 
Starting postgresql-9.2 
Service postgresql-9.2 started successfully 
startserver.vbs ran to completion 

Script stderr: 


Loading additional SQL modules... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432 
Script exit code: 2 

Script output: 
Installing the adminpack module in the postgres database... 
    Executing 'C:\Users\George\AppData\Local\Temp\radA5996.bat'... 
psql: server closed the connection unexpectedly 
    This probably means the server terminated abnormally 
    before or while processing the request. 

Failed to install the 'adminpack' module in the 'postgres' database 
loadmodules.vbs ran to completion 

Script stderr: 
Program ended with an error exit code 

Error running cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432 : Program ended with an error exit code 

[10:34:28] Write the data directory to the ini file... 
[10:34:28] Write the port number, service ID, locale and superuser to the ini file... 
[10:34:28] Write ServiceID(postgresql-9.2) to registry/ini... 
[10:34:28] Write Superuser to ini file and windows registry... 
[10:34:28] Write Service Account to ini file and windows registry... 
[10:34:28] Write the server description to the ini file... 
[10:34:28] Write the server branding to the ini file... 
[10:34:28] Write the 'whether stack-builder is disabled or not' to the ini file... 
[10:34:29] Finished running post-installation/upgrade tasks. 

Creating Uninstaller 
Creating uninstaller 25% 
Creating uninstaller 50% 
Creating uninstaller 75% 
Creating uninstaller 100% 
Installation completed 
+1

Быстро попробуйте установить копию 9.1 - если это работает, проблема в установщике 9.2. Если нет, это говорит о том, что что-то на вашей настройке мешает. Убедитесь, что любой антивирус установлен для игнорирования каталогов и процессов PostgreSQL. Также стоит проверить, оставил ли сервер какие-либо сообщения журнала при его запуске. (P.S. спасибо за отправку соответствующего бита журнала установщика - облегчает жизнь для всех) –

+0

не будет ли этот вопрос лучше подходит для serverfault? – didierc

ответ

3

У меня была такая же проблема. В какой-то момент он должен получить пакет через интернет-соединение. Это неправильно, потому что пакет установки s/b можно установить без подключения, но так оно и есть. Ваш брандмауэр блокирует установку. Вот что вам нужно сделать:

Shut Down (Элементы панели Панель управления \ Все управления \ Брандмауэр Windows \ Настройка параметров) Брандмауэр Windows

Если вы используете это отличная программа закрыта Control Firewall (Выход из панели задач или Используйте Task Mgr убить UI & Service - 2 шт)

для загрузки выбранных пакетов: Shut Down Key Protection Services: Shut Down Base Filtering (Оставляет вас незащищенным - зависимости will.restart когда BFE перезапуске) Base! Фильтрационный двигатель IKE и AuthIP IPsec Keyi ng Модули Агент по политике IPsec ICS ...

Не забудьте перезагрузить все защитные устройства.

0

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

2

Я столкнулся с аналогичными проблемами установщика Pg 9.2.4 на Win7 x64. Оказалось, что модуль «adminpack» не загружен из-за остановки службы postgres. Он начинается, а затем заканчивается почти сразу. Вы можете проверить эту запущенную службу Pg вручную, чтобы узнать, может ли она загружаться . Если это не возможно, это может быть из отсутствующих файлов конфигурации из каталога данных. initdb команда can not создает допустимый кластер и копирует соответствующие * .conf файлы. Я попытался копать в деталях, и у установщика есть сложные проверки прав пользователя, которые могут быть неудачными в вашем (и моем) случае.

Просто попробуйте установить Pg из двоичных файлов. Ему потребовались только следующие команды (менее 20 минут). Original article.

1) Создайте пользователя «postgres» (без прав администратора) и предоставили ему полные права на папку Pg и папку «data». Для этого из командной строки запустите «cmd» в качестве администратора (нажмите Ctrl-Shift-Enter вместо Enter для запуска «cmd») и введите: «net user postgres /add».Затем щелкните правой кнопкой мыши папку Pg (и папку «data», если она находится снаружи) и предоставите все разрешения для «postgres».

2) Установка Microsoft Visual C++ 20xx распространяемого пакета, который поставляется с одним щелчком Pg инсталлятора (vcredist_x64.exe от пользователей \ "вашего пользователь" \ AppData \ Local \ Temp \ postgresql_installer_ * *** - папки созданный одним кликом Pg installer при первом запуске).

3) Разархивируйте файлы Pg в папку Pg и «cmd» в качестве администратора в свой каталог bin.

4) Выполнить для инициализации кластера: initdb -U Postgres -A пароль -E utf8 -W -D "путь к папке Pg" \ данные

5) Выполнить, чтобы установить окна обслуживания: pg_ctl регистр -N "postgresql" -U ". \ postgres" -D "путь к вашей папке/данным Pg" -w

6) Откройте список услуг Windows и откройте свойства службы postgresql. Затем установите пароль для postgres пользователей Windows. Попробуйте запустить новый сервис Pg. Если это начнется, все должно быть в порядке.

7) Открыть bin \ pgAdmin3, подключиться к локальному серверу и открыть базу данных postgres и ее метаданные. Вы должны увидеть жалобу о недостающих службах администратора и предложить исправить это. Просто нажмите Ok - «adminpack» должен быть установлен.

+1

Postgres 9.2 больше не нуждается в собственном пользователе Windows. По умолчанию теперь используется учетная запись пользователя «Сетевая служба». Таким образом, вы можете оставить параметр '-U". \ Postgres "' при регистрации службы. –

+0

Я тестировал это перед своим сообщением. Невозможно запустить службу в учетной записи службы сети. Я предполагаю, что любой учетной записи должен быть разрешен доступ к каталогу данных. Если вы предоставляете разрешения для Network Service, то я думаю, что это начнется. Я предоставил явно пользователю postgres. – ritz14

0

У меня была та же проблема, вызванная ограниченными правами доступа в Program Files каталог, из-за того, что каталог данных был C:\Program Files (x86)\PostgreSQL\9.2\data

Изменение каталога данных C:\ProgramData\PostgreSQL\9.2\data проблема решена.

1

Попробуйте установить за пределами «C: \ Program Files», который имеет специальные разрешения для Windows. У нас были похожие проблемы, и просто, установив в C: \ Postres92 все работает прямо из коробки.

2

Установить postgres только с учетной записи Windows, написанной на английском языке. Например, установка с пользователя «Аня» всегда терпит неудачу.

Смежные вопросы