ぐぐるとJSONで入れたり、暗号付きのサーバだったり、localhostだったり面倒なのが多くて コピペしてささっと確認できるのがないので貼った。 Herokuにつなぐのに楽なのがないのか・・・?
package main import ( "database/sql" "fmt" "os" _ "github.com/lib/pq" ) func main() { db, _ := sql.Open("postgres", "user=user password=password host=host dbname=dbbane") defer db.Close() rows, err := db.Query("SELECT row FROM table;") if err != nil { fmt.Println(err) os.Exit(1) } for rows.Next() { var row string rows.Scan(&row) fmt.Println(row) } }
別の方法
sql.Open("postgres", 第2引数)
の第2引数は以下でもいい。"postgres",
は必須だよ。
postgres://user_name:password@server_name:5432/db_name?sslmode=disable
なのでHerokuではDATABASE_URL
の環境変数が持ってるので、
databaseUrl := os.Getenv("DATABASE_URL") db, _ := sql.Open("postgres", databaseUrl)
としてもいいだろう。
ローカルのときはこんな感じか
export DATABASE_URL=postgres://user_name:password@server_name:5432
※ちなみにHeokuは?sslmode=disable
をつけると怒られる。
実行
go run potgresql.go