> 데이터 베이스 > MySQL 튜토리얼 > CSV 파일의 데이터로 Postgres 행을 업데이트하는 방법은 무엇입니까?

CSV 파일의 데이터로 Postgres 행을 업데이트하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2025-01-15 06:13:44
원래의
145명이 탐색했습니다.

How to Update Postgres Rows with Data from a CSV File?

CSV 데이터를 사용하여 Postgres 행 업데이트: 단계별 가이드

이 가이드에서는 CSV 파일에서 가져온 데이터를 사용하여 기존 Postgres 행을 업데이트하는 방법을 자세히 설명합니다. 이 프로세스에는 몇 가지 주요 단계가 포함됩니다.

1. 임시 테이블 설치

Postgres 데이터베이스 내에 임시 테이블을 만드는 것부터 시작하세요. 이 테이블은 CSV 데이터의 준비 영역 역할을 합니다. 테이블 스키마는 대상 테이블의 구조를 미러링해야 합니다. 예를 들면 다음과 같습니다.

<code class="language-sql">CREATE TEMP TABLE tmp_x (id int, banana text, apple text);</code>
로그인 후 복사

2. CSV 데이터 가져오기

COPY 명령을 사용하여 CSV 파일의 내용을 임시 테이블에 로드합니다. /absolute/path/to/file을 실제 파일 경로(

)로 바꿔야 합니다.
<code class="language-sql">COPY tmp_x FROM '/absolute/path/to/file' (FORMAT csv);</code>
로그인 후 복사

3. 업데이트 수행

임시 테이블의 데이터를 가지고 UPDATE 문을 실행하여 대상 테이블을 수정합니다. 이 예에서는 일치하는 banana 값을 기반으로 id 열을 업데이트합니다.

<code class="language-sql">UPDATE tbl
SET    banana = tmp_x.banana
FROM   tmp_x
WHERE  tbl.id = tmp_x.id;</code>
로그인 후 복사

4. 임시 테이블 제거

업데이트가 완료된 후 임시 테이블을 제거하여 리소스를 회수하세요.

<code class="language-sql">DROP TABLE tmp_x;</code>
로그인 후 복사

중요 사항:

  • 액세스 권한: COPY을 사용하여 데이터를 업데이트하려면 일반적으로 수퍼유저 권한이나 적절하게 할당된 역할이 필요합니다(특히 Postgres 10 이상에서).
  • 수퍼유저가 아닌 사용자를 위한 대안: copy 클라이언트 내의 psql 메타 명령은 수퍼유저 권한이 없는 사용자를 위한 대안을 제공합니다.
  • 성능 고려 사항: 대규모 데이터 세트의 경우 성능 최적화에는 temp_buffers 증가 및 임시 테이블 인덱싱
  • 이 포함될 수 있습니다.

이 방법은 CSV 파일의 데이터를 사용하여 특정 Postgres 행을 업데이트하는 효율적인 방법을 제공합니다.

위 내용은 CSV 파일의 데이터로 Postgres 행을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿