SSL no está habilitado en el servidor

100

Tratando de comunicarse con una base de datos de postgres con go, preparando la declaración de esta manera:

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
}

Lanza el siguiente error:

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

Alguna solución ?

Puedo agregar más información, si es necesario.

Gustavo Semião-Lobo
fuente
1
//, terminé obteniendo este error en HashiCorp Vault.
Nathan Basanese
2
@NathanBasanese, sé que fue hace mucho tiempo, pero lo resolví agregando una ?sslmode=disablecadena de conexión.
LucasBr

Respuestas:

180

Debe establecer una conexión a la base de datos sin cifrado SSL, así:

db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable") 
Kavu
fuente
gracias por este comentario de salvar vidas. por cierto: ¿alguien sabe cómo configurar psql para que admita SSL para el contenedor de la ventana acoplable?
templo
121

Si el nombre de su fuente de datos es una URL, lo hará así:

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

sslmode simplemente se agrega a la URL de la base de datos como un parámetro de consulta.

Eatonphil
fuente
18

Para establecer una conexión sin SSL, intente

postgres://username:password@host:5432/database?sslmode=disable
Harald Nordgren
fuente
//, agregué esto a mi cadena de conexión y funcionó correctamente. Gracias, @Harald.
Nathan Basanese
10

Aviso, por favor:

Esto incluso ocurre, si ha indicado a sslmode=disable, pero tiene otros parámetros vacíos. Por ejemplodbname=

Por ejemplo, cadena de conexión:

user=test password=test dbname=sslmode=disableserá también emitir este error , porque nombredb está vacía.

frops
fuente
4
Esto me salvó en mi configuración de desarrollo local, porque la contraseña estaba vacía aquí.
perelina
0

Así es como lo hice funcionar:

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