Ошибка получения кластера базы данных при установке PostgreSql 12 на Windows 10 - PullRequest
0 голосов
/ 08 апреля 2020

Когда я пытался установить PostgreSql 11/12 на мой windows компьютер, я получал следующую ошибку:

Ошибка при инициализации кластера базы данных

Screenshot of the error

Ниже приведена подробная информация - номер порта - 5432 Место установки - я пытался установить его в C: / ProgramFiles, а также непосредственно в C Пароль диска - test123 Я запускаю установщик как Администратор У меня также есть доступ к каталогу Temp. Я попытался переместить папку данных за пределы основной папки. Ниже приведены решения, которые я попробовал -

Ниже ошибка в файле журнала:

Error running cscript //NoLogo "C:\pg/installer/server/initcluster.vbs" "NT AUTHORITY\NetworkService" "postgres" "****" "C:\Users\u6105742\AppData\Local\Temp/postgresql_installer_2714a75545" "C:\pg" "C:\pg\data" 5432 "DEFAULT" 0: Program ended with an error exit code
Problem running post-install step. Installation may not complete correctly
The database cluster initialisation failed.
Executing icacls "C:\Users\u6105742\AppData\Local\Temp/postgresql_installer_e172900ce0" /inheritance:r Script exit code: 0

Может кто-нибудь помочь мне в этом вопросе?

1 Ответ

0 голосов
/ 09 апреля 2020

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

Вручную initdb кажется более надежным, но вам придется самостоятельно исправить разрешения для каталога данных, например:

"c:\Program Files\PostgreSQL\12\bin\initdb" -D C:\pg\data

Если вы если вам нужна служба Windows, это можно сделать с помощью pg_ctl:

"c:\Program Files\PostgreSQL\12\bin\pg_ctl" register -N postgresql-12 -D C:\pg\data

Служба Windows будет работать с использованием учетной записи Windows "Local System" , которая иногда считается опасным - но не так опасно, как описано в этом ответе SO, потому что Postgres отбрасывает все повышенные привилегии при запуске службы.

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