PostgreSql DB사용을 하다가 외부에서 내 디비에 접속할 수 있게끔
외부 아이피 접속 허용하는 방법에 대해 알아보자.
목차
1. PostgreSql이 깔려있는 경로 확인
우선 PostgreSql이 깔려있다고 가정하고 해당 디비에 접속해보자.
psql -U 계정이름 -d 데이터베이스이름
해당 디비(postgresql 등)에 접속을 하고나면 디비에 접속이 될테고
아래 명령어를 통해 경로를 확인해볼 수 있다.
postgresql=# show data_directory;
2. PostgreSql 설정파일 바꾸기
위에서 찾은 설치 경로로 이동하여 두개의 config파일을 수정해줘야 한다.
2-1. postgresql.conf
cd /opt/homebrew/var/postgresql@14
vi postgresql.conf
파일을 열어서 스크롤을 좀 내려보다보면
#CONNECTIONS AND AUTHENTICATION 이라는 부분이 나오는데
사진 설명을 입력하세요.
listen_addresses= '127.0.0.1' ---> listen_addresses= '*'
어드레스를 바꿔주면된다. 혹여나 주석처리(#) 되어있는지도 잘 확인하자.
나머지는 안 건들여도 된다.
다 작성하고 저장은 :wq 를 하면 된다.
2-2. pg_hba.conf
vi pg_hba.conf
다음 config파일을 수정할건데 편집기로 연 후 shift + G키를 눌러 제일 아래로 이동하자.
사진 설명을 입력하세요.
아마 기본 설정은 #IPv4 local connections: 에서 ADDRESS가 127.0.0.1/32 일테지만 0.0.0.0/0으로 바꾸어 모든 IP접속 허용이 가능케 하도록 하자.
METHOD는 여러 옵션들이 있기는 한데 궁금하다면 postgresql공식문서 에서 확인해보도록 하자.
# IPv4 local connections:
host all all 0.0.0.0/0 trust
크게 보안이 중요하지 않다면 어차피 외부 접속할 때도 내 디비의 ID/PW가 필요하긴하니까 trust로 해도 무방해보인다.
3. PostgreSQL 서버 재시작
나는 brew로 깔았어서 경로부터 명령어까지 brew명령어로 사용하고 있다.
brew services restart postgresql
만약 본인이 직접 설치했다면 아마 경로가 다를테고 아래 명령어로 된다는 것 같은데
나는 안됐다.. 몰..루..?
pg_ctl -D 본인postgresql경로 restart
혹여나 서비스 종료를 원한다면
brew services stop postgresql
4. 포트 접근권한 및 오픈 확인
서버 재시작까지 끝마쳤다면 마지막으로 내 postgresql포트(5432)가 잘 열려있고, 접근 IP권한도 잘 되어있는지 확인해보자.
netstat -anv | grep 5432
만약 설정이 어딘가 모자라다면 아래처럼 tcp4는 127.0.0.1.5432로 본인만 접속이 될테고
잘 설정을 마쳤다면 아래처럼 *.5432 / 혹은 지정해둔 외부아이피.5432로 해당 사람도 접속이 가능하게끔 여러줄이 뜨지 않을까 한다.
'IT이야기 > DATABASE' 카테고리의 다른 글
Mac MariaDB 삭제 및 MySql 설치 변경 (0) | 2024.10.23 |
---|---|
[PostgreSQL] PostgreSQL dump 파일 생성, 백업파일 생성 (0) | 2024.01.19 |