listen_addresses 항목은 모든 IP의 접속을 허용한다는 뜻으로 '*' 로 설정되어 있고, 사용 port 번호는 '5432'이다.
listen_addresses 항목과 port 항목 확인
# 서버 재시작
변경사항이 적용될 수 있도록 서버를 재시작 한다.
pgAdmin4 를 사용해 서버를 재시작하였다.
# 클라이언트(new31514)측에서 접속 확인
클라이언트에서 psql을 이용하여 서버(SMITH)측 PostgreSQL에 접속
당연히 서버항목은 localhost가 서버의 IP주소가 되어야 한다. Database는 postgres, Port는 5432, Username은 postgres, 암호는 postgres 이다. 접속 후 연결된 세션을 확인하기 위해 \c 명령어를 실행했고, 유저리스트를 확인하기 위해 \du 명령어를 실행했다.
노트북(new31514)의 psql을 이용하여 노트북(SMITH) 로 접속하기
클라이언트에서 pgAdmin4를 이용하여 서버(SMITH)측 PostgreSQL에 접속
클라이언트측에서 pgAdmin4를 실행시키면 로컬DB서버목록이 보인다. 원격지의 DB서버의 항목을 추가하도록 한다.
로컬DB서버목록의 Servers 항목을 클릭 후 마우스 오른쪽 버튼을 클릭후 Create >> Server Group 클릭
Server Group 을 추가한다.
[General] 탭에서 Name : PostgreSQL10.13, Server Group : SMITH 를 입력 (각자 원하는 명칭을 입력해도 상관없다.)
[General] 탭 수정
[Connection]탭에서 Host name/address : 192.168.219.149 (<< 서버 IP), Port : 5432, Username : postgres, Password : postgres 입력
[Connection] 탭 수정
서버측 데이터베이스 서버목록이 새로 추가 된 것을 확인
하단의 로컬 DB서버 외에 상단에 서버측 DB서버인 SMITH가 추가된 것을 확인할 수 있다.
서버측 DB인 SMITH 추가 확인
1.1 클라이언트/서버(client/server)
'클라이언트/서버'는 컴퓨터간의 관계를 역할로 구분하는 개념이다. 서버(server)는 서비스를 제공하는 컴퓨터(service provider)이고, 클라이언트(client)는 서비스를 사용하는 컴퓨터(service user)가 된다.
일반적으로 서버는 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터이지만, 하드웨어의 사양으로 서버와 클라이언트를 구분하는 것이 아니기 때문에 하드웨어의 사양에 관계없이 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 한다.
1.2 IP주소(IP address)
IP주소는 컴퓨터(호스트, host)를 구별하는데 사용되는 고유한 값으로 인터넷에 연결된 모든 컴퓨터는 IP주소를 갖는다. IP주소는 4 byte(32 bit)의 정수로 구성되어 있으며, 4개의 정수가 마침표를 구분자로 'a. b. c. d'와 같은 형식으로 표현된다.
여기서 a, b, c, d는 부호없는 1byte값, 즉 0~255사이의 정수이다.
IP주소는 다시 네트워크주소와 호스트주소로 나눌 수 있는데, 32 bit(4byte)의 IP주소 중에서 네트워크주소와 호스트주소가 각각 몇 bit를 차지하는 지는 네트워크를 어떻게 구성하였는지에 따라 달라진다. 그리고 서로 다른 두 호스트의 IP주소의 네트워크주소가 같다는 것은 두 호스트가 같은 네트워크에 포함되어 있다는 것을 의미한다.
IP Address : 192.168.10.100
Subnet Mask : 255.255.255.0
위의 결과에서 얻은 IP주소와 서브넷 마스크를 2진수로 표현하면 다음과 같다.
IP주소와 서브넷 마스크를 비트연산자 '&'로 연산하면 IP주소에서 네트워크 주소만을 뽑아낼 수 있다.
'&'연산자는 bit의 값이 모두 1일 때만 1을 결과로 얻기 때문에 IP주소의 마지막 8 bit는 모두 0이 되었다. 이결과로 부터 IP주소 192.168.10.100의 네트워크 주소는 24 bit(192.168.10)이라는 것과 호스트 주소는 마지막 8 bit(100)이라는 것을 알 수 있다.
IP주소에서 네트워크주소가 차지하는 자리수가 많을수록 호스트 주소의 범위가 줄어들기 때문에 네트워크의 규모가 작아진다. 이 경우 호스트 주소의 자리수가 8자리이기 때문에 256개(2^8)의 호스트만 이 네트워크에 포함될 수 있다.
호스트 주소가 0인 것은 네트워크 자신을 나타내고, 255는 브로드캐스트 주소로 사용되기 때문에 실제로는 네트워크에 포함 가능한 호스트 개수는 254개이다.
이처럼 IP주소와 서브넷 마스크를 '&'연산하면 네트워크 주소를 얻어낼 수 있어서 서로 다른 두 호스트의 IP주소를 서브넷 마스크로 '&'연산을 수행해서 비교하면 이 두 호스트가 같은 네트워크 상에 존재하는지를 쉽게 확인할 수 있다.
최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 '자바의 정석'의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아니라 기존의 경력자들을 위해 자바의 최신기능(람다와 스트림)을 자세하면서도 깊이있게 설명하고 있다. 저자가 2002... http://www.yes24.com/Product/Goods/24259565
# 추가사항
0.0.0.0/0 대신 위의 [자바의 정석]의 내용을 참조하여 IP와 Subnet Mask 값을 조정하면 특정 IP대신 IP대역대로 설정할 수 있다. ex) 0.0.0.0/0 ---> 192.168.219.0/24 로 설정을 한다면 모든 IP의 접속을 허용하는 대신 192.168.219.1 ~ 192.168.219.254 IP들만 접속하게 제한할 수 있다.