使用Golang对Redshift数据库进行CRUD操作

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 !

  • Please note the side-effect import of github.com/lib/pq
  • After this queries can be run by db.Query() or db.Exec()
  • https://golang.org/pkg/database/sql/#example_DB_Query
  • https://golang.org/pkg/database/sql/#pkg-examples

    import (
        _ "github.com/lib/pq"
        "database/sql"
        "fmt"
    )
    
    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 connect error : (%v)"), err
        }
    
        if err = db.Ping(); err != nil {
            return nil, fmt.Errorf("redshift ping error : (%v)", err)
        }
        return db, nil
    }