개요
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으로 원복 해주면 서버에 수정된 비밀번호로 잘 접근할 수 있는 것을 확인할 수 있습니다.
출처
'[DEV] 기록' 카테고리의 다른 글
[SpringBoot + JPA] @NamedEntityGraph (0) | 2022.04.10 |
---|---|
[SpringBoot] git에 application.properties 안 올리는 방법 (0) | 2022.04.10 |
[SpringBoot + jQuery] 파일 다운로드 기능 구현 (0) | 2022.04.08 |
[MySQL] 날짜 차이 구하는 함수 (0) | 2022.04.05 |
[SpringBoot] 컨트롤러에서 RequestParam으로 Date 타입 받는 방법 (2) | 2022.04.04 |