"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go의 pq 패키지를 사용하여 STDIN에서 PostgreSQL로 데이터를 가져오는 방법은 무엇입니까?

Go의 pq 패키지를 사용하여 STDIN에서 PostgreSQL로 데이터를 가져오는 방법은 무엇입니까?

2024년 11월 17일에 게시됨
검색:697

How to Import Data from STDIN to PostgreSQL Using Go\'s pq Package?

STDIN에서 Postgresql로 행을 어떻게 가져오나요? [중복]

Go에서는 pq 패키지를 사용하여 STDIN에서 PostgreSQL로 행을 가져올 수 있습니다. 단계별 해결 방법은 다음과 같습니다.

1단계: 데이터베이스 연결 준비

import (
    "database/sql"

    "github.com/lib/pq"
)

db, err := sql.Open("postgres", "dbname=mydb user=myuser password=mypassword")
if err != nil {
    log.Fatalf("open: %v", err)
}

2단계: 거래 시작

txn, err := db.Begin()
if err != nil {
    log.Fatalf("begin: %v", err)
}

3단계: 복사 문 준비

pq.CopyIn()을 사용하여 준비된 문을 만듭니다.

stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...))
if err != nil {
    log.Fatalf("prepare: %v", err)
}

4단계: 복사 문 실행

데이터를 반복하고 각 행에 대해 stmt.Exec()를 실행합니다.

for _, row := range rows {
    _, err = stmt.Exec(row.Column1, row.Column2, ...)
    if err != nil {
        log.Fatalf("exec: %v", err)
    }
}

5단계: 최종 복사 문 실행

_, err = stmt.Exec()
if err != nil {
    log.Fatalf("exec: %v", err)
}

6단계: 명세서 닫기 및 거래 커밋

stmt.Close()
err = txn.Commit()
if err != nil {
    log.Fatalf("commit: %v", err)
}

이 코드는 STDIN에서 PostgreSQL 테이블로 행을 효율적으로 가져옵니다.

릴리스 선언문 이 글은 1729744624에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3