DB

[PostgreSQL] Windows 10에 설치 (There has been an error. Error running ... icacls)

da77777 2023. 10. 24. 21:56

postgreSql을 설치하고자 했다. 오래 걸려도 30분이면 될 줄 알았지. ㅋ
일단 결과적으로는 installer로 설치하는 건 실패했고, zip archive에서 받아서 명령어로 설치했다.
 

삽질기록

삽질1.

공홈(https://www.postgresql.org/ )에서 다운로드한 파일을 실행해보니 이런 에러가 발생했다.

검색해보니 많은 사람들이 마추진 문제였다. 다행이라고 생각했다. 이땐 몰랐죠 내가 이렇게 다양한 삽질을 해댈줄은.
 

삽질2.

공홈에서 실패한 사람들이 해결했다며 올려놓은 링크1
https://www.netzwelt.de/software-download/26666-postgresql.html
 
내가 원하는 파일을 못 찾았고
 

삽질3.

공홈에서 실패한 사람들이 해결했다며 올려놓은 링크2
https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe
기대했으나 공홈에서 받은 것과 동일한 에러가 발생했다. 스트레스 수직상승하는데 일단 로그 좀 까보고 가야겠다 싶다. 로그를 보니 인코딩이 잔뜩 깨진 상태로 로그가 남아 있었다.

...
Executing (경로)
Script exit code: 1332
...
Error running (경로) /T /Q /grant (인코딩깨진글자)
Cannot delete file C:/Windows/Temp/(파일)
...


grant도 보이고 icalcs도 권한 관련 명령어라길래 권한문제인가보다 하고 "Cannot delete file C:/Windows/Temp" 로 검색해보니 Temp폴더의 권한을 열어주라길래 해보았으나 실패.
https://answers.microsoft.com/en-us/windows/forum/all/cant-delete-files-in-cwindowstemp/a49235e2-6eb3-4bc4-bef0-c27233a070d4
https://answers.microsoft.com/ko-kr/windows/forum/all/%ED%8C%8C%EC%9D%BC/617b7457-a028-45be-ba00-f3f46f3b94dd
 
Temp에 들어가서 postgresql_installer_9b89336b49 같은 폴더를 열면 '영구 권한' 어쩌고 나오는데 확인 눌러서 일단 들어가봤다. 해당 폴더 권한을 다시 확인해보니 'Administrators' 에서 '내이름'으로 변경되었길래, TEMP 폴더의 권한을 '내이름'으로 변경해봤는데 해결되지 않았다. 혹시나 문제 생길까봐 바들바들 떨면서 한 건데 쫌 허탈ㅋ 다시 원복
 
Script exit code: 1332 로 검색을 해보니 원하는 결과는 못 얻었지만 내가 겪은 현상이 버그 신고가 되어 있음을 알 수 있었다. 진짜 버그이긴 한지, 이후로 어떤 조치가 취해졌는지는 모르겠다. 
https://postgrespro.com/list/thread-id/2623714
 

삽질4.

cmd에서 administrator로 처리하는 건 지정된 파일을 찾을 수 없다며 실패했다.
 

성공!

EnterpriseDB에서 바이너리를 다운받아 설치를 성공했다.
1. EnterpriseDB > zip archive > win x86-64 다운
https://www.enterprisedb.com/download-postgresql-binaries
 

 

 
 
2. 압축 풀기 > 사용할 폴더로 이동
( 모자이크 한 폴더는 나중에 생성할 것이니 신경쓰지 말기 )

3. DB 초기화 및 계정 생성

C:\postgresql-14.9.1\bin\initdb.exe -U [계정명] -A password -W -E UTF8 -D C:\postgresql-14.9.1\data


-D C:\Program Files\postgresql-14.9.1\data: PostgreSQL 데이터 파일과 설정 파일을 저장할 폴더 지정

(여기서도 삽질했다. 처음에 지정한 경로가 C:₩Progelram Files였는데 Program Files에 공백이 있어서 인식이 안되었다. 큰따옴표로 감싸주면 된다길래 해보았으나 여전히 안 되었다. 난 이미 앞에서 많이 지쳤고... C 바로 밑으로 폴더를 옮겨서 진행했다.)
 
4. data 폴더 생성 확인, logs 폴더 생성

 
5. 서버 실행

C:\postgresql-14.9.1\bin\pg_ctl -D C:\postgresql-14.9.1\data -l C:\postgresql-14.9.1\logs\pgsql.log start

 pg_ctl : 서비스 시작, 중지, 재시작 등을 할수 있는 명령어


6. dbeaver에 서버 연결해서 사용

 
끝~ 
 
 
>>> cmd 전체 보기

 
 

 

 

https://www.google.com/search?q=icacls+site%3Apostgresql.org&sca_esv=576780426&sxsrf=AM9HkKkwgkWx43RxknWARW4OZRFxyeDo1w%3A1698321026852&ei=glI6ZaLGM5nZ1e8Pt7yBqAs&oq=&gs_lp=Egxnd3Mtd2l6LXNlcnAiACoCCAEyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCcyBxAjGOoCGCdItxJQAFgAcAJ4AJABAJgBAKABAKoBALgBAcgBAPgBAagCCuIDBBgAIEGIBgE&sclient=gws-wiz-serp#ip=1

https://wiki.postgresql.org/wiki/Developer_FAQ

'DB' 카테고리의 다른 글

MySQL 기본 character set 확인 및 변경  (0) 2022.07.22