PostgreSQL: сбой инициализации кластера базы данных

15

Оба C:\PostgreSQLи C:\PostgreSQL\dataесть postgresпользователь с полным доступом и правами администратора.

Я запустил postgresql-9.1.2-1-windows.exe от пользователя postgres от имени администратора. цельC:\PostgreSQL

Каждый раз, когда я пытаюсь, я получаю «Сбой инициализации кластера базы данных».

Вопросов

  • Можно ли запускать все без службы Windows?
  • Есть ли обходной путь для установки в качестве службы Windows?

Я пытаюсь настроить PostGIS для работы с GeoDjango.

Мне удалось вручную установить PostGIS. Новичок в PostgreSQL, и у меня кризис доверия по поводу всего этого. Переход с MySQL на PostgreSQL в первый раз.


Соответствующий вывод журнала из C: \ Users \ Larry \ AppData \ Local \ Temp \ install-postgresql.log:

WScript.Network initialized...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C: (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL\data (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can write to the data directory (using icacls) to  Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Failed to ensure the data directory is accessible (C:\PostgreSQL\data)
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called Die(Failed to initialise the database cluster with initdb)...
Failed to initialise the database cluster with initdb

Предложения?

Ларри Айтель
источник
смотрите журнал установки (он должен быть где-то на диске, вероятно, в% TEMP%)
filiprem
Пожалуйста, смотрите соответствующий вывод журнала.
Ларри Эйтель
Есть ли в Postgres для Windows пользователей имеют полные права на чтение и запись на C: \ PostgreSQL \ Data?
a_horse_with_no_name
Да, и в соответствии с предложением в другом месте я дал пользователям право изменять этот каталог.
Ларри Эйтель
@LarryEitel: но « Не удалось убедиться, что каталог данных доступен (C: \ PostgreSQL \ data) », похоже, указывает на обратное.
a_horse_with_no_name

Ответы:

17

У меня была такая же проблема при установке 9.1.4 на Windows 7. Мне удалось найти решение онлайн, которое работало .

Шаги, которые я выполнил:

  1. Удалить PostgreSQL
  2. Удалите пользователя postgres, если он все еще существует.

    net user postgres /delete
  3. Создайте пользователя postgres с паролем, который вы можете запомнить

    net user /add postgres <password>
  4. Добавьте пользователя postgres в группу администраторов

    net localgroup administrators postgres /add
  5. Добавьте пользователя postgres в группу «Опытные пользователи»

    net localgroup "power users" postgres /add
  6. Запустите командное окно от имени пользователя postgres

    runas /user:postgres cmd.exe
  7. Запустите файл установки из командной строки.

    C:\Download\postgresql-9.1.4-1-windows.exe

    Это должно запустить установку успешно.

  8. Удалите пользователя postgres из группы администраторов.

    net localgroup administrators postgres /delete
Имран
источник
Спасибо за ваш отзыв! К сожалению, с тех пор я перенес этот проект в Mongodb. В данный момент я не могу подтвердить ваше предложение.
Ларри Эйтел
Я хочу подтвердить, что решение сработало для меня. Установка: Postgres 9.1 64-битная и PostGIS 2.0.1 x64
Крис
1
Это хорошо известная проблема с переустановкой PostgreSQL, который работает как служба, и я лично столкнулся с ситуацией, в которой рассматривается этот ответ. Установщик оставляет учетную запись после удаления или обновления, но вторая установка не учитывает это; результирующее несоответствие между учетными данными создает хаос. Самый распространенный ответ - тот, который дает Имраан; удалите, удалите оскорбительную учетную запись, затем переустановите.
Эйвери Пэйн
@AveryPayne: альтернативно: запомните правильный пароль для учетной записи службы postgres. Я много устанавливал Postgres в системах, где он уже был установлен, и у меня никогда не было проблем с существующей служебной учетной записью. Хотя формулировка в установщике могла бы быть улучшена (с 9.2 Postgres больше не использует явную учетную запись)
a_horse_with_no_name
Имейте в виду, что на шаге 4 administratorsэто зависит от локали. Например, в PT-BR это так administradores. И на шаге 5 "power users"есть "usuários avançados".
GuiRitter
1

В моем случае (как я видел из файла postgresql.log в папке% temp% в Windows) это происходило из-за того, что установщику не удалось найти doskey.exe, хотя путь к папке c: \ windows \ system32 был указан в переменная окружения путь окон.
Поэтому я открыл командную строку, набрал set PATH=%PATH%;c:\windows\system32и запустил установщик из самой командной строки. Это сработало! :)

навигационный
источник
1

Ничто из вышеперечисленного не помогло мне. Я не использовал postgres.

Поэтому я удалил / удалил все. Запустил cmd как администратор.

Затем запустил установщик из командной строки (от имени администратора) и выбрал совершенно новое место для каталога данных.

Я теперь успешно переустанавливал postgres, после полдня поиграть в покер.

ним чимпский
источник
1

У меня было такое же сообщение об ошибке при попытке установить 9.2.4. Моя проблема заключалась в том, что, хотя на сервере Win2k8 в качестве пути указывался% SYSTEMROOT% \ system32, никакие программы не могли «видеть» что-либо в C: \ Windows \ system32. Программа установки интенсивно использует icacls.exe во время процедуры инициализации. Так как мой путь облажался, установщик разбомбил.

Как только я явно добавил C: \ Windows \ system32 в переменную среды SYSTEM Path и снова запустил установщик с правами администратора, все работало нормально.

отметка
источник
0

Эта проблема связана с разрешением на запись в папку. Например, создайте папку / data в PostgreSQL \ 9.2 и дайте полное разрешение пользователю. Попробуйте переустановить снова.

user37408
источник