sql >> Database teknologi >  >> RDS >> PostgreSQL

NodeJS Postgres fejl getaddriinfo ENOTFOUND

Hvis du er sikker på, at din forbindelsesstreng allerede er velformet som den beskrevne gnerkus, er den sidste ting, du skal tjekke, din adgangskode. Hvis det indeholder ikke-alfanumeriske tegn, er det måske den, der forårsager problemet. Det ser ud til, at enten Node.js eller måden, javascript fungerer på, forårsager dette (jeg er ikke rigtig sikker, da pg-admin kan oprette forbindelse ved hjælp af min oprindelige adgangskode).

Min adgangskode var indeholde '+' og '/' (erhvervet ved at oprette en lang json fyldt med volapyk og derefter hash den resulterende base64-streng), og jeg modtager sikkert den samme fejl som din. Når jeg først slipper af med det (fra min forbindelsesstreng og opdatering af min databases adgangskode), fungerer det fint.

Åh, og ... '=' er dog accepteret. Fordi det ser ud til, at problemet er med url-afkodningsprocessen på databasesiden. Da jeg sendte '+' , jeg tror det er erstattet af ' ' hvilket vil forårsage forkert adgangskode. Og '/' forårsagede en forkert udformet url, som er årsagen til vores fejl (som siger ikke fundet). Tag et kig på dette eksempel.

postgres://username:sdkadady88da8+8ahdajd/[email protected]/database

Jeg er sikker på, at du vil indse, at der er ekstra '/' hvilket vil forårsage forkert url-nedbrud. Så protocol:// user:[email protected] / database ændret til protocol:// [malformed user:[email protected]] / [malformed database name] / [some gibberish] på grund af den ekstra '/' .

Hvis din kollega, der har adgang til den ved hjælp af JSF, kan redigere deres forbindelsesstreng, foreslår jeg, at du opdaterer adgangskoden til en, der accepteres af begge. Hvis de ikke kan det, skal du oprette en anden bruger/rolle med samme adgangsret, men en anden adgangskode, som kan bruges fra Node.js.

EDIT:Eller endnu bedre, ifølge diskussionen her, prøv at kode adgangskodedelen af ​​din forbindelsesstreng. De siger, det virker. Jeg gad ikke prøve det, da jeg allerede har ændret min adgangskode. Da du stadig har dette problem, vil du måske prøve det først, før du gør et af mine to forslag ovenfor.



  1. Henter alle overordnede rækker i én SQL-forespørgsel

  2. MySQL-serveren er gået væk - på præcis 60 sekunder

  3. Hvad er skema i SQL Server, og hvordan man opretter/slipper skema i SQL Server-database - SQL Server / TSQL Tutorial Del 27

  4. SQL Dev 4.2 Top SQL