반응형
SMALL
대량의 데이터를 db에 집어넣어야 할때 사용 하는 방법입니다.
엑셀로 데이터를 다음과 같이 작업해서
전체를 복사해서 노트패드에 붙여넣으면
다음과 같이 tab 으로 구분되어져서 들어갑니다.
위 파일을 .tsv 파일로 저장을 하고
서버에 올려주어야 합니다.
그 전에 혹시모를 상황을 대비해 기존에 있던 테이블을 백업해 줍니다.
COPY ( SELECT 컬럼명1,컬럼명2, ... FROM 테이블명 ) TO '리눅스서버경로/~~.tsv'
이렇게 PgAdmin 에서 쿼리를 날려주면
위와 같이 서버에 tsv 파일이 생성된 것을 확인할 수 있습니다.
이제 만들어둔 tsv 파일을 서버에 넣어 줍니다.
이제 이 tsv 파일을 테이블에 copy 해주면 모든 작업이 끝납니다.
COPY 테이블명(컬럼명1, 컬럼명2, ...) FROM '리눅스서버경로/~~.tsv'
위와같이 명령어를 입력 후 확인해 줍니다.
다시 테이블을 select 해보면 위와 같이 2020년 1월 데이터가 잘 들어간 것을 확인 할 수 있습니다.
마지막으로 명령어들만 다시 정리해 보면
1. DB 에서 서버로 tsv 파일 백업
- COPY ( SELECT 컬럼명1,컬럼명2, ... FROM 테이블명 ) TO '리눅스서버경로/~~.tsv'
2. 서버에서 DB로 데이터 COPY
- COPY 테이블명(컬럼명1, 컬럼명2, ...) FROM '리눅스서버경로/~~.tsv'
이렇게 COPY를 두번 해주면 끝입니다.
반응형
'Back-End > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] 문자열 분리 (split_part), 문자열 합치기(concat) (0) | 2020.12.15 |
---|---|
[ PostgreSQL ] tsv 파일 DB에 copy 하는 방법 (로컬) (0) | 2020.11.10 |
Postgresql 현재 접속해 있는 IP 및 DB 명 확인 쿼리 (0) | 2020.04.11 |
Postgresql 테이블 컬럼 수정 (2) | 2019.04.10 |
테이블 3개 LEFT OUTER JOIN (0) | 2018.11.06 |