GoでPostgreSQLに接続しようとしたらエラーが発生
database/sqlパッケージを使用して、Postgresにアクセスしようとしたら以下のエラーが発生してしまった。
pq: SSL is not enabled on the server
英文を翻訳すると「サーバーでSSLが有効になっていない」らしい。
解決方法①:sslmodeをdisableにする
以下のように「sslmode=disable」と変更し、SSLモードを無効にします。
db, err := sql.Open("postgres", "user=ユーザー名 password=パスワード host=localhost port=5432 dbname=DB名 sslmode=disable")
上記のように変更したところ、うまく接続ができると思います。
解決方法②:user・password・dbnameをしっかり入力する
以下のようにuser、password、dbnameの項目をどれか1つでも入力し忘れると、sslmode=disableだとしてもエラーが出てしまいます。
db, err := sql.Open("postgres", "user= password= host=localhost port=5432 dbname= sslmode=disable")
なので今一度、
- user
- password
- dbname
が任意の値で埋まってるか確認しましょう。