[PostgreSQL] 통계 쿼리를 위한 공부 - 준비

식빵·2022년 7월 13일
0

postgresql-statistics

목록 보기
1/3
post-thumbnail

🥝 시리즈 첫 글을 시작하며...

이 시리즈는 회사에서 Postgresql을 통해서 복잡한 통계 쿼리를 접하게 되는 일이 앞으로 종종 생길 거 같고, 실제로 짜기도 할 거 같아서 대비할 겸 쓰는 시리즈다.

전체적인 시리즈 진행 방향은 아래와 같다.

  1. 샘플 데이터 import
  2. Join
  3. Group By
  4. Window Function(=Analytic Function)

이번 글은 Postgreql Tutorial 사이트에서 제공하는 샘플 데이터를 import 하는 게 목적이다.

참고로 이 다운로드 사이트에서 파일 제공뿐만 아니라 어떻게 import 시키는지도 다 알려준다.

하지만 난 내가 했던 작업을 기록하고 싶고,
내 방식대로 그 과정을 정리해보고 싶어서 글로 남긴다.

나의 개발 환경

  • OS: Window Home 10
  • PostgreSQL 버전 : 13.2



🥝 PostgreSQL 데이터 다운로드

다운로드 사이트에 들어가서 아래 그림에 나온 링크를 클릭하면 파일을 다운로드 받는다.

그러면 zip 파일을 하나 다운로드 받는데, 해당 파일을 압축풀기 하면 안에 "tar" 포맷의
파일이 있다. 해당 파일을 자기 컴퓨터에 적절한 위치에 넣어준다.

나는 C:\database\dvdrental.tar 에 tar 파일을 저장해놨다.



🥝 psql 로 DataBase 생성


1. Powershell (또는 CMD) 실행 후, psql 로그인

PS C:\Windows\system32> psql -U postgres
postgres 사용자의 암호: (비번 입력 후, Enter)

2. 데이터 베이스 생성

postgres=# create database dvdrental;

3. 생성한 database 확인

postgres=# \l
                                      데이터베이스 목록
    이름    |  소유주  | 인코딩 |     Collate      |      Ctype       |      액세스 권한
------------+----------+--------+------------------+------------------+-----------------------
 dvdrental  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |
 postgres   | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |
 springboot | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 |
 template0  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | =c/postgres          +
            |          |        |                  |                  | postgres=CTc/postgres
 template1  | postgres | UTF8   | Korean_Korea.949 | Korean_Korea.949 | =c/postgres          +
            |          |        |                  |                  | postgres=CTc/postgres
(5개 행)

4. psql 종료

postgres=# exit



🥝 pg_restore.exe 사용

PowerShell(또는 CMD) 를 통해서 계속 작업을 진행하겠다.

1. pg_restore.exe 실행 파일 위치로 이동
참고로 각자 자신의 postgreSQL 버전에 따라 경로명이 다르다.

PS C:\> cd 'C:\Program Files\PostgreSQL\13\bin\'
PS C:\Program Files\PostgreSQL\13\bin>

2. pg_restore 실행

PS C:\Program Files\PostgreSQL\13\bin> .\pg_restore.exe -U postgres -d dvdrental C:\database\dvdrental.tar\
암호: (암호 입력 후, Enter)

3. 생성된 DataBase 및 Table 확인하기

PS C:\Program Files\PostgreSQL\13\bin> psql -U postgres # psql 로그인

==== ~ 로그인 후 ~ ====

postgres=# \c dvdrental
접속정보: 데이터베이스="dvdrental", 사용자="postgres".

dvdrental=# \dt
          릴레이션(relation) 목록
 스키마 |     이름      |  종류  |  소유주
--------+---------------+--------+----------
 public | actor         | 테이블 | postgres
 public | address       | 테이블 | postgres
 public | category      | 테이블 | postgres
 public | city          | 테이블 | postgres
 public | country       | 테이블 | postgres
 public | customer      | 테이블 | postgres
 public | film          | 테이블 | postgres
 public | film_actor    | 테이블 | postgres
 public | film_category | 테이블 | postgres
 public | inventory     | 테이블 | postgres
 public | language      | 테이블 | postgres
 public | payment       | 테이블 | postgres
 public | rental        | 테이블 | postgres
 public | staff         | 테이블 | postgres
 public | store         | 테이블 | postgres
(15개 행)



dvdrental=# select * from  actor limit 10;
 actor_id | first_name |  last_name   |      last_update
----------+------------+--------------+------------------------
        1 | Penelope   | Guiness      | 2013-05-26 14:47:57.62
        2 | Nick       | Wahlberg     | 2013-05-26 14:47:57.62
        3 | Ed         | Chase        | 2013-05-26 14:47:57.62
        4 | Jennifer   | Davis        | 2013-05-26 14:47:57.62
        5 | Johnny     | Lollobrigida | 2013-05-26 14:47:57.62
        6 | Bette      | Nicholson    | 2013-05-26 14:47:57.62
        7 | Grace      | Mostel       | 2013-05-26 14:47:57.62
        8 | Matthew    | Johansson    | 2013-05-26 14:47:57.62
        9 | Joe        | Swank        | 2013-05-26 14:47:57.62
       10 | Christian  | Gable        | 2013-05-26 14:47:57.62
(10개 행)

끝!



🥝 참고) DVD Rental ER Model



📌 참고 링크

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글