[DEV] 기록

[PostgreSQL] PostgreSQL 비밀번호 잊어버렸을 경우

꾸준함. 2022. 4. 9. 17:57

개요

PostgreSQL 13을 신규 설치하고 pgAdmin4에 접속한 후 PostgreSQL 13 서버를 접근하려는데 설정하지도 않은 비밀번호를 입력하라고 해서 문제가 발생했습니다.

stackoverflow에 검색한 결과 아이디와 똑같이 비밀번호도 postgres라는 사람들도 있고 admin이라는 사람들도 있었지만 이 둘 모두 실패했습니다.

그래서 한글로 검색해보니 Bulbasaur님이 잘 정리해주신 글이 있어 해결할 수 있었습니다. 감사합니다.

 

해결 방법

우선, PostgreSQL의 설정 파일인 pg_hba.conf 파일을 열어야 하는데 이는 윈도 기준으로 아래 경로에 존재합니다.

C:\Program Files\PostgreSQL\13\data\pg_hba.conf

 

저는 해당 파일을 워드패드를 통해 열었고 아래로 쭉 스크롤을 내리면 사진처럼 서버에 접속할 때 인증 방법을 설정하는 파트가 나옵니다.

 

여기서 저희가 수정해야할 부분은 IPv4 local connections와 IPv6 local connections입니다.

제가 다운받은 PostgreSQL의 경우 비밀번호를 scram-sha-256 방식으로 암호화해서 서버로 전송하는 것으로 설정되어있는데 이를 trust로 변경하면 비밀번호 없이도 서버에 접근이 가능하게 됩니다.

따라서, scram-sha-256을 trust로 변경해보겠습니다.

 

 

이후에는 SQL Shell(psql)을 실행해주시고 모두 enter를 눌러 서버에 접속해줍니다. (METHOD를 trust로 변경했으니 비밀번호 없이도 접근 가능합니다.)

서버에 접속하면 alter user postgres with password '[입력할 비밀번호]'; 명령어를 통해 비밀번호를 수정해줍니다.

그리고 pg_hba.conf 설정 파일 내 METHOD를 trust에서 scram-sha-256으로 원복 해주면 서버에 수정된 비밀번호로 잘 접근할 수 있는 것을 확인할 수 있습니다.

 

출처

https://055055.tistory.com/14

 

postgresql 비밀번호 초기화(비밀번호 모를 때)

Windows 이용자 기준으로 작성하겠습니다. C:\Program Files\PostgreSQL\11\data 경로(PC마다 다를 수 있음)에 가면 postgresql의 인증관련 설정 파일인  pg_hba.conf 가 있습니다. 파일을 열어보면, 아래와 같..

055055.tistory.com

 

반응형