postgreSQL을 설치하여 사용하려다 너무 많은 error를 만나서 따로 포스팅한다.

다음 설치법은 윈도우 10 기반이며, 각 윈도우 버전마다 만나는 에러가 다를 수 있다.

postgresql.org에서 download에 들어가면, download the installer버튼을 눌러서 edb에서 제공하는 맞춤 다운로드로

OS에 맞는 최신 버전의 postgreSQL을설치할 수 있다.

그러나, windows에서 이 edb에서 제공하는 postgreSQL 설치 파일을 실행하다보면, 다음과 같은 오류를 확률적으로 만날 수 있다.

윈도우에서 설치할 때 이와같은 에러가 뜨는 이유는,

비정상적인(?), 혹은 확인이 되지 않은 Application을 설치하는데 있어서 관리자 권한이 부족하기 때문이다.

오랜 시간 구글링을 한 결과, 이 에러창을 해결하기 위해서는 몇 가지 방법을 찾을 수 있었다.

 

1. stackoverflow에 나와있는 11버전으로 다운로드

https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe

2. 블로그 참고하여 administrator 옵션 주고 다운로드

https://heeonii.tistory.com/8

3. 바이너리 파일을 이용하여 실행

https://ssjeong.tistory.com/entry/DB-Windows10-PostgreSQL-Binary-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-Portable

 

나는 15버전을 설치하고 싶었어서 1번 옵션은 제꼈고,

윈도우 특성 상 디렉토리에 대문자가 들어가거나 '-'와 같은 문자가 들어가면 cmd나 shell에서 루트를 인식하지 못해서

2번도 설치하다가 취소했다.

결국 3번의 블로그를 참고하여 바이너리 파일을 이용하여 설치하고 실행하려고 했으나,

EC2도 아니고 Host OS에서 어플리케이션을 설치하는데, 그래도 GUI를 이용해서 제어해보고 싶은 마음에

바이너리 파일을 설치해서 서비스로 등록하고 실행까지 돌렸다가, 2번을 이용해서 다른 방법으로 설치를 해 보고 싶어졌다.

 

먼저, cmd를 켜서 다음과 같은 명령어를 입력한다.

net user Administration /active:yes

이 명령어를 사용할 경우, 윈도우 사용자에 forced하게 install할 수 있는 Administration 계정이 나타나게 된다.

그래서 Ctrl + Alt + Delete를 눌러서 사용자 전환을 들어간 후 Administration계정으로 접속하고,

다시 postgresql.org > download로 host의 file system에 설치 파일을 다운로드 해서 실행하면,

짜잔, 이제는 설치 위자드가 열렸다. 이제 다른 블로그들과 마찬가지로 설치를 해 주면 된다.

설치를 마치고, 다시 다음과 같은 명령어를 입력해주면 로그온 메뉴에서 Administration 사용자를 안 봐도 된다.

net user Administration /active:no

 

여기서 확인해야 할 것은, 만약 바이너리 설치 등 어떤 이유에서라도 5432번 포트를 쓰는 조건을 걸었다면,

다른 포트에서 리스닝을 시켜줄 수 있도록 빈 포트를 선택해야 한다.

나는 설치 파일이 열린것에 너무 흥분해서 자동적으로 5433번 포트가 설정되어 있는지도 모르고,

당연히 5432번 포트에서 listen을 시켜줄 것이라고 생각했는데, 이러면 나중에 큰 화를 맞이하게 된다.

 

이렇게 설치했으면 정상적으로 postgreSQL을 사용하면 되고,

나처럼 5433번 포트를 사용한 경우에는

추후 connection에서 Port번호를 변경해주면 된다.

지금 내가 어떤 포트에서 리스닝 시켜줬는지 확인하는 방법은 간단하다.

1. 기본 클러스터에서 포트번호 확인

처음에 servers에 들어오면 'postgreSQL 15'라는 DB server가 자동으로 설치되어 있다.

이 서버의 properties를 확인해보면, Connection 탭에서 Port번호를 확인할 수 있다.

 

2. 파일 설정에서 포트번호 확인

설치된 폴더 디렉토리(~postgreSQL\15\data)에 가보면, postgresql.conf라는 configuration파일이 존재한다.

이 파일을 열어서 port를 보면 기본 포트가 어떻게 세팅되어있는지를 확인할 수 있다.

 

만약, 포트 번호가 다르다면 

다음과 같이 커넥션 타임아웃이 뜨면서 왜 뜨는지도 모를 지옥같은 오류해결시간이 시작된다.

 

 

* 참고한 블로그 목록

 

'DB' 카테고리의 다른 글

ORM이란 무엇인가요? JPA와 MyBatis는 어떤 차이가 있나요?  (0) 2023.12.13
DOCKER로 MySQL 다루기  (0) 2023.08.24
POSTGRESQL - RDB  (0) 2023.08.19

+ Recent posts