PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

TypeError:Não é possível chamar o método 'query' de null - ao chamar pg.connect com Heroku node.js


Eu tive o mesmo problema com meu site e o que foi mais frustrante é que funcionou no site implantado, mas quando eu estava tentando executar o site localmente (usando o capataz) recebi esse erro. para o banco de dados e verificando mais detalhadamente, esses são os dois motivos que causaram esse erro:

  1. Nenhuma variável de ambiente DATABASE_URL
    Por algum motivo eu não tinha o process.env.DATABASE_URL definido no meu arquivo .env embora tenha sido definido corretamente no site remoto. Para resolver esse problema, você pode executar "heroku config" e copiar o DATABASE_URL necessário para o arquivo .env local (se esse arquivo não existir, crie um).
    NOTA IMPORTANTE: Ao copiar e colar as variáveis, altere o caractere ":" para "=".

  2. ?ssl=true não faz parte do DATABASE_URL
    Graças à correção acima, o cliente agora sabe onde se conectar, mas ainda não conseguiu abrir a conexão devido a problemas de autenticação. Adicionando ?ssl=true para o DATABASE_URL finalmente resolveu o problema para mim. Parece que quando você está tentando se conectar do site remoto (servidores heroku) você não precisa passar o parâmetro, mas quando você está tentando se conectar ao banco de dados do seu computador local, você precisa dessa autenticação para fazer a conexão adequada.

Espero que ajude.