sql >> Base de Datos >  >> RDS >> PostgreSQL

TypeError:no se puede llamar al método 'consulta' de nulo - al llamar a pg.connect con Heroku node.js

Tuve el mismo problema con mi sitio y lo que fue más frustrante es que funcionó en el sitio implementado, pero cuando intentaba ejecutar el sitio localmente (usando capataz) recibí este error. Del error entendí que no puedo conectarme a la base de datos y de una verificación adicional, estas son las dos razones que causaron este error:

  1. Ninguna variable de entorno DATABASE_URL
    Por alguna razón no tenía el process.env.DATABASE_URL configurado en mi archivo .env aunque se configuró correctamente en el sitio remoto. Para resolver este problema, puede ejecutar "heroku config" y copiar la DATABASE_URL requerida en su archivo .env local (si este archivo no existe, cree uno).
    NOTA importante: Cuando copie y pegue las variables, cambie el carácter ":" a "=".

  2. ?ssl=true no es parte de DATABASE_URL
    Gracias a la solución anterior, el cliente ahora sabe dónde conectarse, pero aún no pudo abrir la conexión debido a problemas de autenticación. Agregando ?ssl=true a DATABASE_URL finalmente resolvió el problema para mí. Parece que cuando intenta conectarse desde el sitio remoto (servidores Heroku) no necesita pasar el parámetro, pero cuando intenta conectarse a la base de datos desde su computadora local, necesita esta autenticación para hacer una conexión adecuada.

Espero que ayude.