pgAdmin이 편한 툴이기는 하지만 파일을 import 할 때에 일일이 해주어야 하는 심각한 불편함이 있었다. 뭔가 방법이 있을 것 같아서 psql을 이용해 보기로 하였다. 문법을 전혀 모르는 관계로 pgAdmin에서 자세히 보기로 나오는 쿼리를 기반으로 하여 구글링을 한 끝에 쉽게 하는 방법을 확보할 수 있었다.
copy sample.t40 ("KEY_SEQ", "SEQ_NO", "RECU_FR_DT", "DSBJT_CD", "SICK_SYM") FROM 'D:/NHIS/postprocessing/40/nhid_gy40_t1_2013.csv' CSV HEADER;
QUOTE나 ESCAPE 설정을 변경해야 한다면 다음과 같이 입력해준다.[‘]과 [”]의 구분에 유의.
copy cdm.condition (condition_occurrence_id, person_id, condition_concept_id, condition_start_date, condition_end_date, condition_type_concept_id, stop_reason, provider_id, visit_occurrence_id, condition_source_value, condition_source_concept_id, dx_codetype, pdx) FROM '/home/byun1114/Downloads/condition-2012-2019.csv' DELIMITER ';' CSV HEADER QUOTE '"' ESCAPE '"';
csv 파일의 column 순서와 위에 언급된 column의 순서를 일치시키는 것이 필요하다. 알아서 바뀐 위치에 넣어주겠지하고 방심하고 있다가 오류가 생기면 골치 아프다.
여러 개의 파일에 같은 작업을 반복하고 싶으면 여러개의 쿼리를 한 번에 Ctrv+V로 입력하면 순차적으로 실행된다.
도스창에서도 하는 방법이 있을 것 같은데 계속 오류만 나서 그냥 이 방법으로 해결하기로 했다. 우선 몇 개 테스트해보니 잘 되는 것을 확인해서 다시 파일 작업 후 importing 작업을 할 예정.