본문 바로가기

두두의 IT/Trouble Shooting

IntelliJ + Spring Boot + Postgresql 오류

728x90

[오류1]

The connection attempt failed
The Specified database user/password combination is rejected

Spring Boot에 DB 연결이 안된다...

그동안 gradle만 써서 application.properties에 있는 내용을 DB랑 연결하면 잘만 됐는데

왜 maven은 안되는거야!!! 아무리 연결을 다양하게 시도해도 이상한 오류만 나오고 ㅠㅠ 

분명히 host, user, pw, db이름에 문제가 있는거 같은데... 전 개발자님들은 아무 문제가 없다고 하고..... 

DB에 직접 접속해보라는데 그걸 어떻게 해요 ,,? 내가 직접 통화한게 아니어서 물어보지도 못하고.. (지금은 스스로 터득함)

아님 서버를 새로 만들라고 하신다. DB 내용을 알 수가 없는데 새로 만든다 한들... DB를 새로 설계하라는 말씀이신지...

아무튼 혼자서 정말 고군분투를 했다. 제대로 물어보지도 못하고,,,

일단 두 가지의 힌트를 얻었고 내가 가진 정보를 다시 자세히 실행했다.

iwinv,, cafe24,, putty,, filezilla,,psql,,host찾기 내가 알고있는 ID/PW/HOST 정보를 총동원해서 다 돌려봤다... 근데 대 실패!!

너무 답답했다.. 그러던 와중.. 휴식을 하고나서 (개발자는 진짜 중간중간에 휴식이 필요한 것 같다) 

application.yml에 있는 호스트 주소를 검색했더니 존재하지 않는 주소란다. 이때 뭔가 감이 잡혔다. 

아.. 서버가 중지되었구나.. iwinv, cafe24,AWS EC2 등 클라우드 서버 관리하는데에서 어떤 이유인지는 모르겠지만 중지 된 거 같다.

그래서 지금 어떤 서버에서 돌아가고 있는지 모르지만...ㅋㅋ 실행은 되는 사이트에서 호스트주소 대신 도메인을 입력했더니.... 성공!!!!

도메인을 찾았더니 네이버플랫폼인거 같았다. ID랑 PW를 몰라서 나중에 대표님 오면 확인해봐야겠다.

일단 한 고비 해결..!!

 

 

[오류2]

org.postgresql.util.PSQLException: ?¡¸???¿?·?: ??¿??? "nanum"?? password ?????? ½?ÆÐ?ß½?´?´? (pgjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf)

This XML file does not appear to have any style information associated with it. The document tree is shown below.

 

진짜... 구글링에서 검색해서

pg_hba.conf 파일 설정도 바꾸고

nanum 계정에 권한도 주고

DB도 여러개 만들어보고

 

 

저 작업들 반복해서 하나씩 바꾸고 암튼 for문 두 번씩 계속 돌리다보니

 

nanum에서 postgres로 계정 다 바꿨는데 자꾸 nanum 오류가 나서 의아했다. 

자세히 살펴보니 나는 지금까지 DB 연결에 성공한 application-dev.yml 파일에서만 수정을 반복하고 있었던 것이었다.

application-local, application-prod에는 아직 nanum이 있었던 것이다.

그래서 dev, local, prod 차이점이 뭐지?라는 생각이 들었고 찾아봤다.

application이 전체 관리하는 파일, dev는 개발환경, local은 로컬환경, prod는 운영환경이란다.

그걸 확인하는 방법은 로그 active:prod 이런식으로 떠서 로그를 검색해보니 prod환경이었다.

아..!!! 그래서 계속 nanum이 떴던 거였어...

그래서 prod, local 다 postgres로 바꿨는데 안되었다...음....

블로그를 더 살펴보니 application에서 환경을 선택할 수 있는걸 알게되었다.

당연히 active:prod로 되어있어서 active:dev로 바꿨더니 성공했다.............

후우,, 이틀간의 실랑이 끝!

#application.yml

spring:
	profiles:
		active: dev

 

+++

dev가 되고 local, prod가 안 된 이유는 host 주소가 localhost인데, local에 DB 정보가 없어서 그런 것 같다.

나중에 local에 DB를 넣고 다시 실행해봐야겠다.

 

참고
https://starseeds.tistory.com/9?category=875514
https://devlog-wjdrbs96.tistory.com/343
+++++++++++너무 많아서 도움 안된건 생략,,