이 시리즈는 회사에서 Postgresql
을 통해서 복잡한 통계 쿼리를 접하게 되는 일이 앞으로 종종 생길 거 같고, 실제로 짜기도 할 거 같아서 대비할 겸 쓰는 시리즈다.
전체적인 시리즈 진행 방향은 아래와 같다.
이번 글은 Postgreql Tutorial 사이트에서 제공하는 샘플 데이터를 import 하는 게 목적이다.
참고로 이 다운로드 사이트에서 파일 제공뿐만 아니라 어떻게 import 시키는지도 다 알려준다.
하지만 난 내가 했던 작업을 기록하고 싶고,
내 방식대로 그 과정을 정리해보고 싶어서 글로 남긴다.
나의 개발 환경
- OS: Window Home 10
- PostgreSQL 버전 :
13.2
다운로드 사이트에 들어가서 아래 그림에 나온 링크를 클릭하면 파일을 다운로드 받는다.
그러면 zip 파일을 하나 다운로드 받는데, 해당 파일을 압축풀기 하면 안에 "tar" 포맷의
파일이 있다. 해당 파일을 자기 컴퓨터에 적절한 위치에 넣어준다.
나는
C:\database\dvdrental.tar
에 tar 파일을 저장해놨다.
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
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개 행)
끝!