2017/02/04

PostgreSQL initdb.exe 실행시 The program "postgres" is needed by initdb but was not found 오류

PostgreSQL 최초 설치시, initdb.exe 를 실행하면 아래와 같은 오류가 발생할수 있음.

The program "postgres" is needed by initdb but was not found in the
same directory as "D:\PostgreSQL\9.6\bin\initdb.exe".
Check your installation.

=> 위 오류가 발생하는 이유는 initdb.exe 가 pgsql 이 존재하는 그리고 data 로 지정된 폴더에 대해서 Windows 권한을 체크하기 때문

그래서 현재 설치를 실행하는 Windows 계정명에 대해서, pgsql 폴더에 대해서 명시적으로 권한 설정을 해줘야 함.(Administrators 그룹에 들어가 있다고 해서 권한이 충분해서 되는것이 아니라, 명시적으로 계정명을 확인)

 

----- 정상적으로 권한이 확인되는 경우 -----

D:\PostgreSQL\9.6\bin>initdb.exe -U postgres -A password -W -E utf8 -D D:\PostgreSQL\9.6\data
이 데이터베이스 시스템에서 만들어지는 파일들은 그 소유주가 "Administrator" id로
지정될 것입니다. 또한 이 사용자는 서버 프로세스의 소유주가 됩니다.

데이터베이스 클러스터는 "Korean_Korea.949" 로케일으로 초기화될 것입니다.
initdb: "Korean_Korea.949" 로케일에 알맞은 전문검색 설정을 찾을 수 없음
기본 텍스트 검색 구성이 "simple"(으)로 설정됩니다.

자료 페이지 체크섬 기능 사용 하지 않음

새 superuser 암호를 입력하십시오:
암호 확인:

이미 있는 D:/PostgreSQL/9.6/data 디렉터리의 액세스 권한을 고치는 중 ...완료
하위 디렉터리 만드는 중 ...완료
max_connections 초기값을 선택하는 중 ...100
기본 shared_buffers를 선택하는 중... 128MB
사용할 동적 공유 메모리 관리방식을 선택하는 중 ... windows
환경설정 파일을 만드는 중 ...완료
부트스트랩 스크립트 실행 중 ... 완료
부트스트랩 다음 초기화 작업 중 ... 완료
자료를 디스크에 동기화 하는 중 ... 완료

작업완료. 이제 다음 명령을 이용해서 서버를 가동 할 수 있습니다:

    "pg_ctl" -D "D:\PostgreSQL\9.6\data" -l 로그파일 start

 


가장 많이 본 글