그렇다면 이 문제에 어떻게 접근해야 할까요? 데이터를 복사하여 붙여넣습니까? 또는 RDBMS GUI를 사용하여 보고서를 스프레드시트로 생성합니까? 오늘, 나는 당신에게 PostgreSQL의 정말 작지만 편리한 기능을 보여줍니다 — COPY. 보시다시피, 우리는 로컬 파일 시스템의 CSV 파일에 결과를 복사 하는 COPY 명령을 사용 합니다. 쿼리를 훨씬 더 많이 수행할 수 있습니다. 다음은 현재 작업 중인 프로젝트의 실제 예입니다: copy 명령이 성공하여 도매 업로드를 실행합니다. 이 복사본을 실행하면 82초 안에 완료됩니다! 우리는 지금 일부 상당히 겸손 한 하드웨어에 초당 10 k 쓰기를 처리 하 고. 데이터 없이 테이블 구조를 복사 하려면 다음과 같이 CREATE TABLE 문에 데이터 없음 없음 절을 추가 합니다. COPY TO는 테이블의 내용을 파일에 복사하고 COPY FROM는 파일에서 테이블에 데이터를 복사합니다(이미 테이블에 있는 모든 것에 데이터를 복사). COPY TO는 SELECT 쿼리의 결과를 복사할 수도 있습니다.» 10피트 이하의 pipe_length가 있는 staging_assetstable테이블의 모든 레코드인 ten_footers.csv라는 파일에 쓰기 위해 작업이 주어졌다고 가정합니다. 당신은 copy가 그것을 어떻게 성취 할 수 있는지 궁금해합니까? 관계형 데이터베이스를 사용한 경우 기본 INSERT 문을 이해합니다. 당신은 NoSQL 배경에서 온 경우에도, 당신은 가능성이 크로크 삽입. Postgres 세계 내에서 빠른 대량 수집에 유용한 유틸리티가 있습니다.

Postgres copy는 Postgres에서 데이터를 대량 로드하는 메커니즘입니다. 테이블의 데이터를 CSV 파일로 내보내는 가장 쉬운 방법은 COPY 문을 사용하는 것입니다. 예를 들어, 사람 테이블의 데이터를 C:tmp 폴더의 persons_db.csv라는 CSV 파일로 내보내려면 다음 문을 사용할 수 있습니다. 나이 복사. 기본적으로 단일 노드 Postgres에서 쓰기를 확장하는 3가지 기본 방법이 있습니다. 또한 단일 노드를 넘어 인제를 더 확장해야 하는 경우 Citus 데이터베이스 클러스터의 각 노드가 쓰기 크기를 조정하는 데 도움이 될 수 있으므로 Citus를 살펴볼 수 있습니다. 위의 모든 문은 테이블 구조 및 데이터를 복사하지만 기존 테이블의 인덱스 와 제약 조건을 복사하지는 않습니다. 이 블로그 게시물에서는 PostgreSQL 데이터베이스 서버의 클라이언트 측 작업에 대한 psql copy 메타 명령의 예제 사용을 다룹니다. 이 명령을 사용하면 Superuser 권한이 없는 사용자가 COPY 형식 SQL 명령을 수행할 수 있습니다. copy 명령은 기본적으로 위의 COPY 문을 실행합니다. 그러나 csV 파일을 작성하는 서버 대신 psql은 CSV 파일을 작성하고 서버에서 로컬 파일 시스템으로 데이터를 전송합니다.

copy 명령을 사용하려면 로컬 컴퓨터에 충분한 권한이 있으면됩니다.