sql >> Database >  >> RDS >> PostgreSQL

TypeError:kan methode 'query' van null niet aanroepen - bij het aanroepen van pg.connect met Heroku node.js

Ik had hetzelfde probleem met mijn site en wat frustrerender was, is dat het werkte op de geïmplementeerde site, maar toen ik de site lokaal probeerde uit te voeren (met behulp van de voorman), kreeg ik deze foutmelding. Uit de fout begreep ik dat ik geen verbinding kan maken naar de database en van verdere controle zijn dit de twee redenen die deze fout hebben veroorzaakt:

  1. Geen DATABASE_URL omgevingsvariabele
    Om de een of andere reden had ik de process.env.DATABASE_URL niet ingesteld in mijn .env-bestand, hoewel het correct was ingesteld op de externe site. Om dit probleem op te lossen, kunt u "heroku config" uitvoeren en de vereiste DATABASE_URL naar uw lokale .env-bestand kopiëren (als dit bestand niet bestaat, maakt u er een aan).
    Belangrijke OPMERKING: Wanneer u de variabelen kopieert en plakt, wijzigt u de ":" char in "=".

  2. ?ssl=true maakt geen deel uit van de DATABASE_URL
    Dankzij de bovenstaande oplossing weet de client nu waar hij verbinding moet maken, maar hij kon nog steeds geen verbinding openen vanwege authenticatieproblemen. Door ?ssl=true . toe te voegen naar de DATABASE_URL heeft het eindelijk het probleem voor mij opgelost. Het lijkt erop dat wanneer u probeert verbinding te maken vanaf de externe site (heroku-servers), u de parameter niet hoeft door te geven, maar wanneer u probeert verbinding te maken met de database vanaf uw lokale computer, hebt u deze authenticatie nodig om een ​​goede verbinding te maken.

Ik hoop dat het zal helpen.



  1. Overschakelen van Django-project van sqlite3-backend naar postgresql mislukt bij het laden van datadump

  2. Hoe kan ik bevestigen dat een database Oracle is en welke versie SQL gebruikt?

  3. Hoe te verhogen in SQL met behulp van een trigger?

  4. Hoe een array te maken in PostgreSQL