Golang : PGX CopyFrom to insert rows into Postgres database
Here is an example of how to use PGX's CopyFrom function to insert rows into Postgres database. The HScodes table is for my own reference, you will need to substitute it with your own table and struct.
Here you go!
type HScodes struct {
Sid int `json:"sid" db:"sid"`
HScode string `json:"name" db:"hscode"`
Keyword string `json:"value" db:"keyword"`
}
var dataToInsert []models.HScodes
rowsToInsert := [][]interface{}{}
for i := 0; i < len(dataToInsert); i++ {
row := []interface{}{dataToInsert[i].HScode, dataToInsert[i].Keyword}
rowsToInsert = append(rowsToInsert, row)
}
copyCount, err := database.WrapCopyFrom(ctx, pgx.Identifier{"hscodes"},
[]string{"hscode", "keyword"},
pgx.CopyFromRows(rowsToInsert))
Happy coding!
Reference :
See also : Golang : Trim everything onward after a word
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+7.6k Golang : How to join strings?
+18.1k Mac OSX : Homebrew and Golang
+8.1k Golang : Generate random Chinese, Japanese, Korean and other runes
+17.2k Golang : How to get hour, minute, second from time?
+16.2k Golang : Parse date string and convert to dd-mm-yyyy format
+14.1k Golang : Force download file example
+11.1k Android Studio : Highlight ImageButton when pressed on example
+33.6k Golang : Upload and download file to/from AWS S3
+7.5k Golang : Add text to image and get OpenCV's X, Y co-ordinates example
+18.7k Android Studio : AlertDialog and EditText to get user string input example
+12.1k Golang : How to get a user home directory path?
+30k Golang : Example for ECDSA(Elliptic Curve Digital Signature Algorithm) package functions