이번 글은 로컬에서 PostgreSQL 서버로 접속할 경우 패스워드 없이 접속 가능하게 설정하는 방법에 대한 것이다. 로컬에서 접속하는 경우는 패스워드가 굳이 필요하지 않은 경우가 있을 수 있는데 특히 코드에서 패스워드를 생략시킬 수도 있어서 어떤 면에선 보안적 이점이 있을 수도 있다.
일단은 패스워드 없이 사용자를 생성해 보자.
패스워드 없이 PostgreSQL 사용자 생성하기
기존 방법과는 조금 다르게, 패스워드 없이 사용자를 생성하기 위해 createuser
커맨드를 셸에서 사용해 보자.
createuser [username]
혹시나 사용자가 제대로 생성되었는지 궁금하다면 콘솔에 접속해서 확인해 보자.
psql postgres
여기서 \du
명령으로 사용자 목록 확인이 가능하다.
슈퍼유저 권한 주기 (옵션)
필요 없다면 넘어가도 되지만, 혹시나 이 사용자에게 슈퍼유저 권한을 주려면 콘솔에서 아래와 같은 SQL을 실행시키면 된다.
ALTER USER username WITH SUPERUSER;
물론 슈퍼유저 권한이 꼭 필요한 건 당연히 아니다. 어차피 DB를 만들고 해당 DB의 모든 권한을 해당 사용자에게 주는 게 일반적이고 보안에도 이점이 있고 그다지 불편한 것도 없으니 말이다.
패스워드 없이 접속해 보기
이제 셸에서 아래와 같이 패스워드 입력 없이 해당 유저로 콘솔에 접속해 보자.
psql postgres -U username
개인적으론 별다른 설정 변경 없이 접속이 잘 되었다. 혹시나 접속이 안 된다면 아래 항목을 참고해 보자.
트러블슈팅
만약 패스워드 없이 접속이 안 된다면 pg_hba.conf
설정 파일을 열어서 local
항목을 찾아보자. 아마도 첫 줄일 것이다. 이 줄 마지막에 trust
가 명시되어 있는지 확인하고 만약 다른 내용이라면 trust
로 수정한 후 PostgreSQL을 재시동하면 아마 될 거라고 믿는다.
참고로 설정파일 위치는 초기 설치 후 initdb
를 실행시킬 때 지정한 디렉터리다. 개인적인 경우에는 /usr/local/var/postgresql@14
디렉터리로 지정했기에 여기서 postgresql.conf
나 pg_hba.conf
등의 파일을 찾을 수 있었다.
'기술적인 이야기 > 기타 개발' 카테고리의 다른 글
PostgreSQL에서 사용자 및 DB 생성하기 (7) | 2024.09.24 |
---|---|
macOS에서 PostgreSQL 설치 및 초기 설정 (5) | 2024.09.23 |
uv - Python의 대안 패키지 및 프로젝트 관리자 (0) | 2024.09.03 |
Flutter 앱 빌드 때 만난 Unsupported class file major version 어쩌구 저쩌구 에러 (0) | 2024.03.15 |
macOS 터미널에서 안드로이드 에뮬레이터 실행시키기 (0) | 2024.03.13 |
댓글