PostgreSQL : 데이터베이스 클러스터 초기화 실패


15

모두 C:\PostgreSQLC:\PostgreSQL\datapostgres모든 권한 및 관리자 권한이있는 사용자.

postgres 사용자의 postgresql-9.1.2-1-windows.exe를 관리자로 실행했습니다. 표적C:\PostgreSQL

시도 할 때마다 "데이터베이스 클러스터 초기화에 실패했습니다."라는 메시지가 나타납니다.

질문

  • Windows 서비스가 아닌 모든 것을 실행해도 괜찮습니까?
  • Windows 서비스로 설치하기위한 해결 방법이 있습니까?

GeoDjango와 작동하도록 PostGIS를 설정하려고합니다.

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

관련 로그 출력을 참조하십시오.
Larry Eitel

postgres Windows 사용자에게 C : \ PostgreSQL \ data에 대한 전체 읽기 및 쓰기 권한이 있습니까?
a_horse_with_no_name

예, 그리고 다른 곳의 제안에 따라 사용자에게 해당 디렉토리에 대한 수정 권한을 부여했습니다.
Larry Eitel

@LarryEitel : 그러나 " 데이터 디렉토리에 액세스 할 수 없는지 (C : \ PostgreSQL \ data) "는 그렇지 않은 것으로 보입니다.
a_horse_with_no_name

답변:


17

Windows 7에 9.1.4를 설치하는 것과 동일한 문제가 발생 했습니다 . 온라인에서 작동 하는 솔루션 을 찾을 수있었습니다 .

내가 따르는 단계는 다음과 같습니다.

  1. PostgreSQL 제거
  2. postgres 사용자가 여전히 존재하면 삭제하십시오.

    net user postgres /delete
  3. 기억할 수있는 비밀번호로 postgres 사용자를 작성하십시오.

    net user /add postgres <password>
  4. postgres 사용자를 관리자 그룹에 추가

    net localgroup administrators postgres /add
  5. postgres 사용자를 Power Users 그룹에 추가

    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로 옮겼습니다. 현재 귀하의 제안을 확인할 수있는 입장이 아닙니다.
Larry Eitel

솔루션이 저에게 효과적이라는 것을 확인하고 싶습니다. 설정 : Postgres 9.1 64 비트 및 PostGIS 2.0.1 x64
Chris

1
이것은 서비스로 실행되는 PostgreSQL을 다시 설치할 때 잘 알려진 문제이며 개인적 으로이 답변이 해결되는 상황에 처했습니다. 제거 또는 업그레이드시 설치 관리자는 계정을 남기지 만 두 번째 설치는이를 고려하지 않습니다. 설치 간의 자격 증명 불일치로 인해 혼란이 발생합니다. 가장 일반적인 답변은 Imraan이 제공하는 것입니다. 제거하고 문제가있는 계정을 제거한 다음 다시 설치하십시오.
에이버리 페인

@AveryPayne : 또는 postgres 서비스 계정의 정확한 암호를 기억하십시오. 이미 설치된 시스템에 Postgres를 많이 설치했으며 기존 서비스 계정에 문제가 없었습니다. 설치 프로그램의 문구는 향상되었지만 (9.2 Postgres는 더 이상 btw를 명시 적 계정으로 사용하지 않음)
a_horse_with_no_name

4 단계의 administrators경우 로케일에 따라 다릅니다. 예를 들어 PT-BR에서는입니다 administradores. 그리고 5 단계에서는 "power users"입니다 "usuários avançados".
GuiRitter

1

필자의 경우 (Windows의 % temp % 폴더에있는 postgresql.log 파일에서 볼 수 있듯이) c : \ windows \ system32 폴더의 경로가 지정된 경우에도 설치 프로그램이 doskey.exe를 찾을 수 없었기 때문입니다. 윈도우의 환경 변수 경로.
그래서 명령 프롬프트를 열고 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

이 문제는 폴더에 대한 쓰기 권한과 관련이 있습니다. 예를 들어 PostgreSQL \ 9.2에 폴더 / 데이터를 생성하고 사용자에게 모든 권한을 부여하십시오. 다시 설치하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.