postgresql 비밀번호 초기화(비밀번호 모를 때)
Windows 이용자 기준으로 작성하겠습니다.
C:\Program Files\PostgreSQL\11\data 경로(PC마다 다를 수 있음)에 가면 postgresql의 인증관련 설정 파일인 pg_hba.conf 가 있습니다.
파일을 열어보면, 아래와 같이 나와 있습니다. 우리가 수정해야 할 부분은 빨간색으로 네모가 그려져 있는 부분 입니다.
자세한 설명은 pass하고 우리가 필요로 하는 부분만 보겠습니다.
우리가 수정해야 하는 부분은 Method관련 부분으로서, 실질적으로 계정의 패스워드에 대한 서버로의 전송을 어떻게 할 것인가 정하는 것 입니다.
trust : 패스워드 없이 접근 가능
reject : 거부
md5 : 패스워드를 md5로 암호화해서 전송
crypt : crypt로 암호화 해서 전송 Postgres 7.2이후부터는 사용 않함. (이전버전설정 호환용)
password : text로 패스워드를 전송하는 것.
krb4, krb5 : KerberOS V4, 5를 지원한다.
ident : 접속 ClientOS User이름을 확인하는 방법?
pam : PAM(Pluggable Authentication Modules)서비스를 사용한 인증
해당 IP주소를 가진 모든 유저가 임의의 데이터베이스에 임의의 데이터베이스 유저명으로 접속하는 것을 허가 한다는 의미 입니다.
이렇게 변경한 후, 저장하고
제어판 -> 시스템 및 보안 -> 관리도구 -> 서비스 (윈도우 10 기준) 에서 postgresql을 찾아서 재시작을 해줍니다.
실질적인 계정에 대한 정보는 postgresql의 카탈로그 테이블인 pg_user에서 관리하고,
설정파일은 Host나 Host의 데이터 전송방식과 암호화 전송방식에 대한 설정을 가지고 있습니다.그런 이유로 접근자의 접근방식과 암호전달 방식에 대해서는 서비스를 다시 시작하여 pg_hba.conf파일을 다시 로드하게 해주어야 합니다.
변경 후, postgresql을 실행하여 default 값으로 로그인하면 로그인이 됩니다.
로그인 한 다음에, alter user postgres with password '입력할 비밀번호'; 를 입력하여 비밀번호를 입력합니다. ㅜㅜ
잊지 말아야 할 점은!!! 비밀번호 변경 후, 다시 pg_hba.conf 파일을 열어서 원래 설정인 md5로 메서드를 바꿔주셔야 합니다.!!!
그리고 서비스 재시작