레이블이 docker인 게시물을 표시합니다. 모든 게시물 표시
레이블이 docker인 게시물을 표시합니다. 모든 게시물 표시

2025년 6월 18일 수요일

Docker로 설치된 PostgreSQL에 CSV 파일을 insert하는 과정


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
```


Docker로 설치된 PostgreSQL에 CSV 파일을 insert하는 과정

1. Docker 컨테이너 실행 : - PostgreSQL 컨테이너가 실행 중이 아니라면 , 다음 명령어로 컨테이너를 시작 ``` docker start <container_name> ``` 2. 컨테...