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.