Próbując komunikować się z bazą danych postgres za pomocą go, przygotowując oświadczenie w następujący sposób:
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
}
Zgłasza następujący błąd:
db.Prepare error: pq: SSL is not enabled on the server
Jakieś rozwiązanie?
W razie potrzeby mogę dodać więcej informacji.
?sslmode=disable
połączenia.Odpowiedzi:
Powinieneś ustanowić połączenie DB bez szyfrowania SSL, na przykład:
źródło
Jeśli nazwa źródła danych to adres URL, zrobisz to w następujący sposób:
sslmode
jest po prostu dodawany do url bazy danych jak parametr zapytania.źródło
Aby nawiązać połączenie bez SSL, spróbuj
źródło
Uwaga, proszę:
Dzieje się tak nawet, jeśli wskazałeś a
sslmode=disable
, ale masz pusty inny parametr. Na przykładdbname=
Na przykład parametry połączenia:
user=test password=test dbname=sslmode=disable
wygeneruje również ten błąd , ponieważ nazwa_db jest pusta.źródło
Oto jak to działa:
źródło