2017-03-23 25 views

回答

2
  • 请注意github.com/lib/pq
  • 的副作用进口该查询之后,可以通过db.Query()或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 
    }