sql >> Database >  >> RDS >> PostgreSQL

NodeJS Postgres-fout getaddrinfo ENOTFOUND

Als je zeker weet dat je verbindingsreeks al goed is gevormd, zoals de gnerkus die is beschreven, is het laatste dat je moet controleren je wachtwoord. Als het niet-alfanumerieke tekens bevat, is dat misschien degene die het probleem veroorzaakt. Het lijkt erop dat de Node.js of de manier waarop javascript zelf werkt dit veroorzaakt (ik weet het niet echt zeker aangezien pg-admin prima verbinding kan maken met mijn initiële wachtwoord).

Mijn wachtwoord bevatte '+' en '/' (verkregen door een lange json gevuld met wartaal te maken en deze vervolgens te hashen, resulterende base64-string) en ik ontvang zeker dezelfde fout als die van jou. Zodra ik er vanaf ben (van mijn verbindingsreeks en het bijwerken van het wachtwoord van mijn database), werkt het prima.

Oh, en ... '=' wordt wel geaccepteerd. Omdat het probleem lijkt te zijn met het url-decoderingsproces aan de databasezijde. Toen ik '+' . stuurde , ik denk dat het is vervangen door ' ' wat een onjuist wachtwoord zal veroorzaken. En de '/' veroorzaakte een misvormde url, wat de hoofdoorzaak is van onze fout (die zegt niet gevonden). Bekijk dit voorbeeld.

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

Ik weet zeker dat je je realiseert dat er extra '/' . zijn waardoor een verkeerde url wordt afgebroken. Dus, protocol:// user:[email protected] / database gewijzigd in protocol:// [malformed user:[email protected]] / [malformed database name] / [some gibberish] vanwege die extra '/' .

Als uw collega die er toegang toe heeft met JSF zijn verbindingsreeks kan bewerken, raad ik u aan het wachtwoord bij te werken naar een wachtwoord dat door beide wordt geaccepteerd. Als ze dat niet kunnen, moet u een andere gebruiker/rol maken met hetzelfde toegangsrecht maar een ander wachtwoord dat kan worden gebruikt vanuit Node.js.

EDIT:Of beter nog, volgens de discussie hier, probeer het wachtwoordgedeelte van uw verbindingsreeks te coderen. Ze zeggen dat het werkt. Ik heb niet de moeite genomen om het te proberen, omdat ik mijn wachtwoord al heb gewijzigd. Aangezien je dit probleem nog steeds hebt, wil je het misschien eerst proberen voordat je een van mijn twee bovenstaande suggesties doet.



  1. Hoe NIET REGEXP werkt in MariaDB

  2. Waar haal ik de libpq-bron vandaan?

  3. manieren om globale tijdelijke tabellen in oracle te vermijden

  4. Wanneer is het beter om vlaggen als bitmasker op te slaan in plaats van een associatieve tabel te gebruiken?