SSL tidak diaktifkan di server

101

Mencoba berkomunikasi dengan database postgres dengan go, menyiapkan pernyataan seperti ini:

var stmt *sql.Stmt
var err error

stmt, err = db.Prepare(selectStatement)
if err != nil {
    fmt.Printf("db.Prepare error: %v\n",err)
    return err
}

Melempar kesalahan berikut:

db.Prepare error: pq: SSL is not enabled on the server

Ada solusi?

Saya dapat menambahkan lebih banyak informasi, jika perlu.

Gustavo Semião-Lobo
sumber
1
//, Saya mendapatkan kesalahan ini di HashiCorp Vault.
Nathan Basanese
2
@NathanBasanese, saya tahu itu sudah lama sekali, tetapi saya menyelesaikannya dengan menambahkan ?sslmode=disablestring koneksi.
LucasBr

Jawaban:

181

Anda harus membuat koneksi DB tanpa enkripsi SSL, seperti itu:

db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable") 
Kavu
sumber
terima kasih atas komentar menyelamatkan hidup ini. btw: ada yang tahu bagaimana mengatur psql untuk mendukung SSL untuk kontainer docker?
kuil
121

Jika nama sumber data Anda adalah url, Anda akan melakukannya seperti ini:

db, err := sql.Open("postgres", "postgres://username:password@localhost/db_name?sslmode=disable")

sslmode hanya ditambahkan ke url db seperti parameter kueri.

eatonphil.dll
sumber
18

Untuk membuat koneksi tanpa SSL, coba

postgres://username:password@host:5432/database?sslmode=disable
Harald Nordgren
sumber
//, Saya menambahkan ini ke string koneksi saya, dan berhasil. Terima kasih, @Harald.
Nathan Basanese
10

Mohon diperhatikan:

Ini bahkan terjadi, jika Anda telah menunjukkan a sslmode=disable, tetapi telah mengosongkan parameter lainnya. Sebagai contohdbname=

Misalnya, string koneksi:

user=test password=test dbname=sslmode=disablejuga akan mengeluarkan kesalahan ini , karena dbname kosong.

frops
sumber
4
Ini menyelamatkan saya di pengaturan dev lokal saya, karena kata sandi kosong di sini.
perelin
0

Beginilah cara saya membuatnya bekerja:

db, err := sql.Open("postgres", "postgres://{user}:{password}@{hostname}:{port}/{database-name}?sslmode=disable")
gildniy
sumber