Heim >Backend-Entwicklung >Golang >Wie importiere ich Daten von STDIN nach PostgreSQL mit dem pq-Paket von Go?
In Go können Sie mithilfe des pq-Pakets Zeilen aus STDIN in PostgreSQL importieren. Hier ist eine Schritt-für-Schritt-Lösung:
<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>
Verwenden Sie pq.CopyIn(), um eine vorbereitete Anweisung zu erstellen.
<code class="go">stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...)) if err != nil { log.Fatalf("prepare: %v", err) }</code>
Iterieren Sie Ihre Daten und führen Sie stmt aus .Exec() für jede Zeile.
<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>
Dieser Code importiert effizient Zeilen von STDIN in Ihre PostgreSQL-Tabelle.
Das obige ist der detaillierte Inhalt vonWie importiere ich Daten von STDIN nach PostgreSQL mit dem pq-Paket von Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!