Go では、pq パッケージを使用して STDIN から PostgreSQL に行をインポートできます。段階的な解決策は次のとおりです。
<code class="go">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) }</code>
<code class="go">txn, err := db.Begin() if err != nil { log.Fatalf("begin: %v", err) }</code>
pq.CopyIn() を使用してプリペアド ステートメントを作成します。
<code class="go">stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...)) if err != nil { log.Fatalf("prepare: %v", err) }</code>
データを反復処理して stmt を実行します各行の .Exec()。
<code class="go">for _, row := range rows { _, err = stmt.Exec(row.Column1, row.Column2, ...) if err != nil { log.Fatalf("exec: %v", err) } }</code>
<code class="go">_, err = stmt.Exec() if err != nil { log.Fatalf("exec: %v", err) }</code>
<code class="go">stmt.Close() err = txn.Commit() if err != nil { log.Fatalf("commit: %v", err) }</code>
このコードは、STDIN から PostgreSQL テーブルに行を効率的にインポートします。
以上がGo の pq パッケージを使用して STDIN から PostgreSQL にデータをインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。