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.


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") 

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.


18

Para establecer una conexión sin SSL, intente

postgres://username:password@host:5432/database?sslmode=disable

//, 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.


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")
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.