Postgresql docker 환경에서 DBeaver 연결방법

Docker를 사용하여 PostgreSQL을 설치하고 관리하는 것은 매우 간편하며, 개발 환경에서 유용하게 활용될 수 있다. 이번 포스팅에서는 Docker에서 PostgreSQL을 셋팅하는 법까지는 아니고 실행하는 명령어만 대략 정리하고, DBeaver를 사용하여 데이터베이스에 연결하는 방법을 단계별로 설명해본다.

Postgresql Docker 실행

Postgresql 14버전이며, docker image 다운로드 및 빌드 설명은 생략한다. docker run 으로 docker 컨테이너를 실행한다. 볼륨셋팅은 본인꺼에 맞춰 조정하면되고, 이게 절대적인 기준은 아니다. postgresql 컨테이너가 여럿이다보니, 포트가 겹쳐서 로컬에서 사용할 포트는 5433 포트로 수정했다.

docker run -d  \
    --name my-postgres3 \
    --network my-net \
    -p 5433:5432 \
    -e POSTGRES_PASSWORD=1111 \
    -e PGDATA=/var/lib/postgresql/data/pgdata \
    -v $PWD/mount/data:/var/lib/postgresql/data \
    -v $PWD/mount/doc:/var/lib/postgresql/doc \
    -v ~/data:/var/lib/postgresql/my-data \
    postgres-3

psql 로 커멘드창으로 sql을 실행해보고 싶다면, 실행된 docker exec 로 서버에 접속하면 된다. zsh 는 내가 설치한 쉘프로그램이니, 보통의 경우 bash 로 실행하면된다.

docker exec -it --user postgres -w /var/lib/postgresql/doc my-postgres3 zsh

psql 명령어를 실행할 때, 데이터베이스 이름을 넣어주면 바로 진입이 가능하다.

postgres@572efb1f4fec ~/doc
> $ psql mydb
psql (14.4 (Debian 14.4-1.pgdg110+1))
Type "help" for help.

mydb=#

DBeaver 로 연결하기

DBeaver 설치를 진행했고, 버전24.1.4 였다. 기존 General 프로젝트에다가 커넥션 연결해도 되지만, 새로운 프로젝트 추가를 하기로 했다.

이름만 적어주고 완료.

프로젝틀 활성화해야 하는데, 오른쪽 클릭해서 “Set active project” 메뉴를 선택한다. 그러면 프로젝트 이름이 볼드체가 된 걸 확인할 수 있다.

이제 실행해놓은 postgresql 서버에 접속하기위한 Connection 정보를 추가한다.

총 3개의 정보를 수정했는데, 포트는 아까 위에서 docker 실행하면서 5433 으로 변경했기 때문에 그런거니, 보통 변경할 필요없다. 비밀번호와 데이터베이스 이름만 셋팅하면 된다.

테이블을 하나 조회해서 제대로 결과가 나오는지 확인하면 끝.


더 보면 좋을 글들