본문 바로가기
DBMS/PostgreSQL

PostgreSQL 외부 접속 허용 설정

by 드바 2023. 11. 8.

PostgreSQL 설치 후 외부에서 접속 가능하도록 설정 해줘야 함

 

접속 테스트

접속실패

 

설정파일 수정

$PGDATA 경로(기본경로:/var/lib/pgsql/14/data) 있는 2개의 설정 파일을 수정해줘야 합니다.

[postgres@svr1:/var/lib/pgsql/14/data]$ pwd
/var/lib/pgsql/14/data
[postgres@svr1:/var/lib/pgsql/14/data]$ ls
base              log           pg_hba.conf    pg_multixact  pg_serial     pg_stat_tmp  pg_twophase  pg_xact               postmaster.opts
current_logfiles  pg_commit_ts  pg_ident.conf  pg_notify     pg_snapshots  pg_subtrans  PG_VERSION   postgresql.auto.conf  postmaster.pid
global            pg_dynshmem   pg_logical     pg_replslot   pg_stat       pg_tblspc    pg_wal       postgresql.conf
[postgres@svr1:/var/lib/pgsql/14/data]$

 

postgresql.conf 파일

listen_addresses = '*' 설정 확인

postgresql.conf

 

반응형

pg_hba.conf 파일

host all all 0.0.0.0/0 md5 설정 확인

pg_hba.conf

 

TYPE은 local, host, hostssl, hostnossl 중 하나를 설정한다. host, hostssl, hostnossl는 모두 TCP / IP를 사용하여 연결하는 경우에 사용하고 host를 지정한 경우 SSL 또는 비 SSL로 연결, hostssl를 사용하면 SSL로 연결, hostnossl 비 SSL로의 연결을 허용한다.

DATABASE에 연결할 수 있는 데이터베이스 이름을 지정한다. 복수 지정하는 경우는 쉼표 (,)로 구분하여 작성한다. 또한 특수한 값으로 all을 지정했을 경우는 복제(replication)를 제외한 모든 데이터베이스를 의미한다.

USER에 연결할 수 있는 역할 이름을 지정한다. 복수 지정하는 경우는 쉼표(,)로 구분하여 작성한다. 또한 특수한 값 all을 지정하면 모든 역할을 의미한다.

ADDRESS에 연결할 수 있는 호스트 이름 또는 IP 주소 범위를 지정한다. IP 주소는 IPv4에서 지정하는 경우 172.20.143.0/24와 같은 형식으로 지정한다.

 

METHOD에는 인증 방법을 지정한다. 설정 값과 인증 방식은 아래와 같다

trust: 모든 역할 이름에 암호없이 연결 가능
reject: 연결을 거부
scram-sha-256: 암호 인증 가장 안전하지만 일부 클라이언트에서 지원되지 않음
md5: 암호 인증
password: 암호 인증 암호를 평문으로 전송
gss: GSSAPI를 이용한 싱글 사인온
sspi: SSPI를 이용한 싱글 사인온
ident: Ident 인증
peer: Peer 인증
ldap: LDAP 인증
radius: RADIUS 인증
cert SSL: 클라이언트 인증서를 사용한 인증
pam: PAM 인증
bsd: BSD 인증

 

설정 변경 후 stop / start

pg_ctl stop

pg_ctl start

 

접속 테스트 성공

접속 성공

 

 

댓글