Hola compañeros, tengo un problema 500 (pq: SSL is not enabled on the server) intente buscar la solución me dice que debo quitar el permi...

Pregunta de la clase:
Probando los registros
Yeison Gutierrez

Yeison Gutierrez

Pregunta
studenthace 3 años

Hola compañeros, tengo un problema 500 (pq: SSL is not enabled on the server) intente buscar la solución me dice que debo quitar el permiso (sslmode=disable). pero esto ya lo había echo el profesor, no se que puedas ser.

muchas gracias

2 respuestas
para escribir tu comentario
    Carlos Arturo Pimentel

    Carlos Arturo Pimentel

    studenthace 3 años

    Hola Yeison, este problema viene del paquete pq, y a mí me pasó exactamentemente lo mismo, mi solución fué como lo mencionas agregar sslmode=disable a la cadena de conexión, en comienzo no me funcionó y ahí me estuve un par de horas andando en círculos y llegando sin éxito. Después de horas me dediqué a revisar como estaba construida mi cadena de conexión y me dí cuenta que los campos estaban separados por "punto y coma - ;" y que los campos estaban definidos en Mayúsculas, y aparte el campo dl usuario lo tenía mal definido como "Username" en mayúsuclo y un campo no reconocido para el paquete pq. y como si fuera poco estaba haciendo port forwarding para conectar con el contenedor y al parecer esto tampoco es permitido por el paquete así que también tuve que crear otro contenedor pero que conectara por el puerto 5432. Mi entorno de desarrollo es Ubuntu En comienzo la cadena de conexión lucía de la siguiente manera; Errores a la vista, campos en Mayúsculas, separación por

    ;
    y haciendo Port Forwarding

    DB_URL="Host=localhost;Username=admin;Password=123abc;Port=9876;Database=db"

    Y Como al paquete pq lo pide con los campos separados por un espacio:

    ** Espacio

    DB_URL="host=localhost ** user=admin ** password=abc123 ** port=5432 ** dbname=db ** sslmode=disable"

    Conclusión de este primer error, revisar muy bien la cadena de conexión.

    En mi caso el paquete

    pq
    me sorprendió con otro error

    pq: password authentication failed for user Hostname

    En mi caso el paquete

    pq
    me sorprendió con otro error Después de un par de horas logré llegar a esta solución:

    In my case, I had misconfigured my local postgres server. Here's the fix: Find the pg_hba.conf location in psql: SHOW hba_file; Edit it... sudo -u postgres vim /var/lib/pgsql/data/pg_hba.conf Make sure local connections are set to password: # IPv4 local connections: host all all 127.0.0.1/32 password # IPv6 local connections: host all all ::1/128 password Fuente: https://github.com/GoesToEleven/golang-web-dev/issues/28?utm_source=pocket_saves

    Y esto en efecto lo anterior soluciona el problema pero antes tenemos que lograr editar este archivo

    pg_hba.conf
    el cual se encuentra dentro del contenedor.

    Solución copiar el archivo **pg_hba.conf** desde el contenedor a nuestro computador editarlo con los cambios que sugiere la solucón de trust a password, con los cambios en el lugar hay que devolver el archivo editado de nuevo al contenedor y reiniciar el contendor para que tome los cambios. Cómo se hace esto, alguién en internet lo puede explicar mucho mejor que yo, y este el link que seguí como para guiarme en este proceso.
    Fuente; https://www.youtube.com/watch?v=N1d5HYUh4G8

    Después de algo más de 6 horas logré conectarme a la Base de Datos y guardar mi primer registro, espero que con este mini tutorial (disculpen lo extenso, pero sin el contexto esto no se entendía muy bien) logren llegar a solucionar estos potenciales problemas en una fracción del tiempo.

    Maided Guadalupe Hernández Ponce

    Maided Guadalupe Hernández Ponce

    studenthace 3 años

    En el vídeo el profe le da enter pero debe estar todo junto.

    Así está el del profe:

    DATABASE=postgres://postgres:postgres@localhost:54321/postgres? sslmode=disable

    Así debe de estar:

    DATABASE=postgres://postgres:postgres@localhost:54321/postgres?sslmode=disable
Curso de Go Avanzado: REST y WebSockets

Curso de Go Avanzado: REST y WebSockets

Desarrolla aplicaciones avanzadas en Go con REST y WebSockets. Aprende a implementar APIs, gestionar comunicaciones en tiempo real y manejar bases de datos. Ideal para desarrolladores backend que buscan mejorar sus habilidades.

Curso de Go Avanzado: REST y WebSockets
Curso de Go Avanzado: REST y WebSockets

Curso de Go Avanzado: REST y WebSockets

Desarrolla aplicaciones avanzadas en Go con REST y WebSockets. Aprende a implementar APIs, gestionar comunicaciones en tiempo real y manejar bases de datos. Ideal para desarrolladores backend que buscan mejorar sus habilidades.