오늘은 우분투 환경에서 터미널로 psql접속시, 자주 발생하는 에러에 대해 다뤄보았다.

 

 

저번 포스팅에서 psql 설치법에 대해 다루었는데,

 

< 지난글 psql 설치법 >

https://jayindustry.tistory.com/29

 

[PostgreSQL] PSQL설치 및 환경설정 - 리눅스 환경(우분투 22.04)

오늘은 회사에서 실제로 내가 설치한 PSQL설치법 및 환경설정을 포스팅한다. 터미널의 명령어로 설치하며 [설치 요약] 아래 [설치 상세]를 참고하여 환경설정까지 해보면 유용할 것이다. [ Postgresq

jayindustry.tistory.com

 

 

psql을 설치하고 유저db접속시,

peer관련 에러가 정말 자주 발생하였다.

 

 

상황 

psql을 설치하고 seokjun 유저와 데이터베이스를 만들었다.


아래처럼 seokjun 유저에서 seokjunDB를 만들고

이제 접속하려는데 peer관련 에러가 자꾸 발생한다.

 

 

 

이 에러때문에 psql을 지우고 다시 설치했는데도 똑같았다.

 

 

이유

이유는 인증방식의 오류라고 한다.

 

이전 포스트들을 참고해보니

처음 psql을 설치 시,

postgres계정으로 로그인이 되며,(유저가 아직 없으니)

이 계정은 superuser라서 peer 접속 방식으로 설정이 되어있다.

 

local + peer 방식으로 접속을 시도할 때의 방식이다.

 

허나, 유저를 생성하면서 접속 방식이 host + ? 으로 바뀌는데

?는 md5가 될 수 있고 pc 환경에 따라 다르다.

 

 

즉, 이렇게 접속방식이 달라지면서 생기는 오류라고 한다...

 

어쨋든 우리는 에러가 해결되서 잘 작동하기만 하면 되므로 간단히만 알고 넘어가자!

 

 

 

에러 해결

아래 사진참고하여 수정할 파일부터 찾기..

pg_hba.conf 이란 파일을 찾고 경로를 확인한 후, 아래절차를 따른다.

 


sudo find / -name pg_hba.conf 2>/dev/null

 

아래는 gpt4.0의 가이드이다.

참고하면 좋다!

 



이렇게 경로가 나오면 sudo vi 를 통해 파일 내용을 수정해야한다.

 

아래처럼 스크롤을 내려보면 METHOD바로 아래가 scram-sha-256이 아닌, peer로 되어있어서 에러가 뜨는것.

 


모든 pc가 scram-sha-256 라고 되어있는 것은 아니다.

다른 블로그 포스트들에서 md5로 바꾸라는 글들이 많은데,

 

본인 pc에서는 작동하지 않는것으로 보아 이는 pc마다 다른것같다.

내 pc의 psql의 경우엔 scram-sha-256으로 바꿔주어야 했다.

 

 

 

사진에서 하얗게 블록쳐있는 부분이  'peer'로 되어있다면 그 아래것으로 바꿔주자.

 

사진처럼 method 아래에 scram-sha-256으로 되어있기에(내 pc기준)

peer를 scram-sha-256으로 바꾸고 저장하였다.

 

이제 마무리!

 

esc  -> :wq! (수정사항 저장)

 

 

그리고 다시 접속하면 정상적으로 DB접속성공!

+ Recent posts