1. Docker 컨테이너 실행:
- PostgreSQL 컨테이너가 실행 중이 아니라면, 다음 명령어로 컨테이너를 시작
```
docker start <container_name>
```
2. 컨테이너에 CSV 파일 복사:
- 호스트 머신에 있는 CSV 파일을 Docker 컨테이너 내부로 복사
```
docker cp <csv_file_path> <container_name>:/home
```
3. 컨테이너 내부로 접속:
- 다음 명령어를 사용하여 실행 중인 PostgreSQL 컨테이너 내부로 접속
```
docker exec -it <container_name> bash
```
4. 데이터베이스 접속:
- 컨테이너 내부에서 PostgreSQL 데이터베이스에 접속
```
psql -U <username> -d <database_name>
```
5. 테이블 생성:
- CSV 파일의 데이터를 저장할 테이블을 생성, 테이블 구조는 CSV 파일의 컬럼과 일치해야 함
```sql
CREATE TABLE <table_name> (
column1 datatype,
column2 datatype,
...
);
```
6. CSV 파일 import:
- `COPY` 명령어를 사용하여 CSV 파일의 데이터를 테이블에 insert
```sql
COPY <table_name> FROM '/home/file.csv' DELIMITER ',' CSV HEADER;
```
- `DELIMITER`는 CSV 파일에서 사용된 구분자를 지정
- `CSV HEADER`는 CSV 파일의 첫 번째 행이 헤더(컬럼명)임을 나타냄
7. 데이터 확인:
- `SELECT` 문을 사용하여 데이터가 성공적으로 insert되었는지 확인
```sql
SELECT * FROM <table_name> LIMIT 10;
```
>테이블 구조를 CSV 파일과 일치시키는 것이 중요
==데이터베이스 안에서 직접 파일 실행
```sql
\i /home/user/insert.sql
```