万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    GolangからPostgrsSQL

    ぐぐる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