개발/React + Spring Boot 게시판 만들기

DB 구성하기

RainyJune 2023. 5. 2. 14:51

PostgreSQL의 설치는 공식 홈페이지(https://www.postgresql.org/)의 인스톨러를 받아 설치해서 개발 PC에서 사용할 수 있으나, 실제 외부 액세스가 가능하도록 하는게 목적인 관계롤 DBMS를 보유중인 NAS에 설치하기로 했다.

 

보유중인 NAS는 시놀로지의 DS920+로 DSM 7 버전을 사용한다.

해당 NAS에 Docker를 통해 PostgreSQL DBMS를 올리도록 한다.


Docker 설치

DSM > 패키지 센터 > Docker 검색 > 설치

필자는 이미 설치하여 실행중인 상태여서 '열기'로 표시되고 있음


PostgreSQL 이미지 설치

설치된 Docker를 실행하여 레지스트리 tab에서 postgres를 검색하고 공식 이미지를 다운로드한다.


컨테이너 생성하기

다운로드한 이미지로 컨테이너를 생성한다.

고급 설정을 열어 환경 탭에 추가 버튼을 눌러 POSTGRES_USER, POSTGRES_PASSWORD를 설정해준다.

나머지 환경변수는 본인 환경에 맞게 설정해준다.

POSTGRES_USER=postgres (postgres database로 접속할 user)

POSTGRES_PASSWORD=password (postgres database로 접속할 user의 password;실제 이렇게 하라는 것이 아님)

외부에서 액세스할 포트를 지정해준다. 위에 적힌 11111은 단순 예시임.

여기에 폴더를 추가하면 해당 docker에서 사용할 공유폴더를 지정할 수 있다.


외부 액세스를 위한 라우터 구성

외부에서 PostgreSQL로 접근을 허용할 수 있도록 제어판의 외부 액세스 탭에서 라우터구성을 추가해준다.

로컬포트, 라우터포트에 docker 구성시 지정한 로컬 포트 번호를 적어준다.(컨테이너 포트 아님)

NAS에서 바로 적용할 수 없으면, 사용중인 공유기 등에서 포트포워딩 설정을 하도록 하자.


접속 확인하기

PostgreSQL을 설치했을 경우 pgAdmin 프로그램을 통해 설치한 DB에 액세스할 수 있으나, 필자는 NAS에 설치했으므로 쿼리툴을 사용해서 접속한다.

쿼리툴은 DBeaver Community Edition을 사용했다. (https://dbeaver.io/)

Host에 본인의 NAS 주소, port에 외부 액세스를 위해 열어둔 포트를 입력하고 완료를 누른다.

접속 확인 후 SQL 편집기를 열어 select now()를 조회해본다.

 

끝.