2011-10-27 2 views
27

도시와 우편 번호의 두 열이있는 CSV 파일이 있습니다. copy 명령을 사용하여이 파일을 PostgreSQL 테이블에 복사 할 수 있고 동시에 자동으로 id 값을 생성 할 수 있기를 원합니다.PostgreSQL copy 명령이 기본 키 id를 생성

테이블의 열은 id, cityzipcode입니다.

내 CSV 파일의 내용은 cityzipcode입니다.

답변

43

COPY command 테이블이 id에 대한 serial 열을 사용하는 경우 그 자체로 모든 것을 수행해야합니다 열 목록에없는 테이블의 모든 열이있는 경우, 삽입됩니다 FROM

복사 해당 열의 기본값.

copy table_name(city, zipcode) from ... 

을하고 id은 평소와 같이 생성됩니다

그래서 당신은 말할 수 있어야합니다. id (또는 수동으로 부착 된 시퀀스)에 serial 열이 없으면 수동으로 시퀀스를 연결하고 COPY를 한 다음 시퀀스를 분리 할 수 ​​있습니다.

+0

다음은 CSV에서 Postgres로 데이터를 복사 한 방법입니다. \ copy company_infos (email, url, created_at, updated_at) FROM '/Users/john/company_infos_heroku4.csv'WITH (FORMAT CSV, HEADER true); – yaru

관련 문제