Search code examples
gocrudamazon-redshift

CRUD operations on Redshift databases using Golang


Could you please give me some explanations and some code examples on how it would be done (ex: creating tables and inserting data) ? Which library would you advise me to use ?

Thanks !


Solution

  • import (
        "database/sql"
        "fmt"
        _ "github.com/lib/pq"
    )
    
    func MakeRedshfitConnection(username, password, host, port, dbName string) (*sql.DB, error) {
    
        url := fmt.Sprintf("sslmode=require user=%v password=%v host=%v port=%v dbname=%v",
            username,
            password,
            host,
            port,
            dbName)
    
        var err error
        var db *sql.DB
        if db, err = sql.Open("postgres", url); err != nil {
            return nil, fmt.Errorf("redshift conn error : (%v)", err)
        }
    
        if err = db.Ping(); err != nil {
            return nil, fmt.Errorf("redshift ping error : (%v)", err)
        }
        return db, nil
    }