ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PostgreSQL] 로컬 환경에서 PostgreSQL 서버를 실행하고 콘솔로 조작하기
    Today I Learned 2023. 6. 27. 00:24

    로우 쿼리를 작성하는 과정에서 작성한 쿼리문의 쿼리 결과를 테이블을 통해 직접적으로 확인하면서 쿼리 로직의 유효성을 검증하거나, 실행 계획을 확인하는 등의 쿼리 명령어를 수행해야 하는 경우가 있을 수 있다. 이를 위해서는 특정 데이터베이스 서버에 CLI 환경이나 데이터베이스 관리 툴을 통해 직접 접속해야 한다.
     
    백엔드 애플리케이션의 쿼리 로직을 수정하는 과정에서 쿼리문의 실행 결과를 테이블로 직접 확인하면서 결과를 확인하고 비교할 필요성이 생겼다. 이를 위해 로컬 환경에서 PostgreSQL 데이터베이스 서버를 생성해 실행시키고, 해당 서버에 PostgreSQL 데이터베이스 관리 툴인 Postico를 통해 접근해보기로 했다.
     
     

    로컬 환경에서 PostgreSQL 서버 실행하기

    * 해당 글의 내용은 macOS Monterey 버전 12.5.1 환경에서 수행되었으며, Homebrew가 설치되어 있어야 합니다.
     
     
    CLI 환경에서 다음의 명령어를 입력해 PostgreSQL을 로컬에 설치한다.

    brew install postgresql

     
    설치가 완료되었으면 다음의 명령어를 입력해 PostgreSQL이 설치되었는지 확인한다.

    brew list

     
    글을 작성하는 시점에는 PostgreSQL 14가 설치된 것을 확인할 수 있다.
     

     
    다음의 명령어를 입력해 PostgreSQL 서버를 실행시킨다.

    brew services start postgresql

     
    실행에 성공했을 경우 다음의 명령어를 입력해 PostgreSQL 서버의 실행 여부를 확인할 수 있다.

    brew services

     

    실행을 모두 마친 뒤 PostgreSQL 서버를 종료하고 싶을 때에는 다음의 명령어를 입력할 수 있다.

    brew services stop postgresql

     

    PostgreSQL 서버에서 데이터베이스 생성하기

    다음의 명령어를 입력해 PostgreSQL 서버에 접속한다.

    psql postgres

     
    quit 명령어를 입력해 접속을 종료할 수 있다.
     

     
    다음의 쿼리문을 입력해 데이터베이스를 생성할 수 있다.

    CREATE DATABASE 생성할_데이터베이스_이름;

     
    생성되어 있는 데이터베이스들은 \l (역슬래시 + 소문자 l) 명령어를 입력하거나, 다음의 쿼리문을 입력해 확인할 수 있다.
     

     

    SELECT datname FROM pg_database;

     
    생성한 데이터베이스에는 접속한 psql에서 접속을 종료한 뒤, 다음의 명령어를 입력해 직접 접속할 수 있다.

    psql 생성한_데이터베이스_이름

     
    이제 해당 데이터베이스 내에서 테이블을 생성하거나, Tuple을 추가하는 등의 조작을 수행할 수 있다.
     

     
     

    Postico를 통해 PostgreSQL 데이터베이스에 접근하기

    Postico Icon

    Postico는 오스트리아의 개발자 Jakob Egger가 개발한 macOS용 PostgreSQL 데이터베이스 관리 도구이다. 데이터 삽입, 검색, 쿼리 등 다양한 쿼리와 관련된 동작을 쿼리 스크립트 실행기 및 GUI 화면에서 간단하게 수행할 수 있다.
     
    CLI 환경에서 다음의 명령어를 입력해 Postico를 설치할 수 있다.

    brew install --cask postico

     
    Postico가 설치되었으면 실행 화면 좌측 하단의 New Favorite를 클릭해 데이터베이스 연결을 위한 정보 입력 화면을 불러온다.
     

     
    데이터베이스 연결을 위한 정보는 데이터베이스를 생성할 때 별도의 정보를 부여하지 않았을 경우 다음과 같이 입력할 수 있다.

    - Nickname: 해당 콘솔에서 표기할 데이터베이스의 별칭을 지정한다.
    - Host: 데이터베이스 생성 시, 별도의 Host를 부여하지 않았다면 localhost 또는 127.0.0.1이다.
    - Port: 5432이다.
    - User: 별도의 사용자 권한으로 데이터베이스를 생성하지 않았다면 주어진 기본값을 사용할 수 있다.
    - Database: 데이터베이스 생성 시 지정했던 명칭을 입력한다.

     

     
    Connect 버튼을 클릭하면 Postico와 데이터베이스 간의 연결이 수립되어 GUI 화면 및 쿼리 스크립트 실행기를 통해 데이터베이스를 조작할 수 있다.
     

     
     
     
     

    댓글

Designed by Tistory.