몇 가지 테이블을 사용하여 데이터베이스를 만들려고합니다. 이 테이블 중 하나는 미국 경제 센서스에서 나온 약 130 만 행의 데이터를 저장하기위한 것입니다. 데이터는 파이프로 구분 된 텍스트 파일에 있습니다. 이것은 거의 PostgreSQL을 사용하는 첫 번째 노력입니다.
아래 코드와 비슷한 코드를 사용하여 모든 것을 텍스트로 가져 오기를 바랬습니다. (나는 모든 것을 문자로 취급하기로 잠정적으로 결정했다. 수치가되어야하는 값은 누락 된 값과 같은 알파벳 코드를 포함하고 있기 때문이다.) 그러나 COPY 설명서에 따르면 HEADER 옵션은 CSV 파일 가져 오기에서만 사용할 수 있습니다.
나의 궁극적 인 목표는 PostgreSQL을 사용하여 R에서 분석을 위해이 데이터의 박탈 된 버전을 생성하는 것입니다. 그러나 R은 대용량 파일에서 질식 할 수 있으므로 제 3의 툴을 요구하기보다는 PostgreSQL에서 모든 전처리 작업을 수행하기를 바랍니다. 나는 내가 가져올 파일에 대한 최소한의 사전 지식과 분석을 요구하는 이것을하는 방법을 찾고있다.
PostgreSQL을 사용하여이 작업을 수행하는 또 다른 방법이 있습니까? 아니면 다른 도구를 사용하여 첫 번째 행을 제거해야합니까?
HEADER를 사용할 수 없으면 CREATE TABLE 명령에 열 이름을 제공해야한다고 가정합니다. 이 올바른지?
또한 이러한 경우 PostgreSQL은 기본 데이터 유형을 적용하거나 각 열의 데이터 유형을 결정하려고합니까? 또는 기본 데이터 형식을 설정할 수 있습니까?
나는 Windows 7 64 비트 SP1에서 PostgreSQL 9.3.4를 실행하고 있습니다.
CREATE DATABASE employ;
CREATE TABLE employ.ec0700a1;
COPY EC0700A1
FROM 'C:\\Users\\andrewH\\Documents\\OaklandTechEmploymentProject\\Economic Census 2007\\EC07_6-dig_AllGeo\\EC0700A1.dat'
WITH DELIMITER '|',
HEADER TRUE;