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:
-
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 "=". -
?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.