PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

NodeJS Postgres грешка getaddrinfo ENOTFOUND

Ако сте сигурни, че низът ви за връзка вече е добре оформен като този, описан от gnerkus, последното нещо, което трябва да проверите, е вашата парола. Ако не съдържа буквено-цифрови знаци, може би това е причината за проблема. Изглежда, че или Node.js, или начинът, по който javascript работи самият причинява това (не съм много сигурен, тъй като pg-admin може да се свърже с помощта на първоначалната ми парола добре).

Моята парола съдържаше '+' и '/' (придобит чрез създаване на дълъг json, пълен с глупости и след това го хеширате в резултат на base64 низ) и със сигурност получавам същата грешка като вашата. След като се отърва от него (от моя низ за връзка и актуализиране на паролата на моята база данни), работи добре.

О, и ... '=' все пак се приема. Тъй като изглежда проблемът е в процеса на декодиране на URL адреси от страната на базата данни. Когато изпратих '+' , мисля, че е заменен с ' ' което ще доведе до неправилна парола. И '/' причинява неправилно формиран url, което е основната причина за нашата грешка (която казва, че не е намерен). Разгледайте този пример.

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

Сигурен съм, че ще разберете, че има допълнителни '/' което ще доведе до повреда на грешен URL адрес. И така, protocol:// user:[email protected] / database променен в protocol:// [malformed user:[email protected]] / [malformed database name] / [some gibberish] поради този допълнителен '/' .

Ако вашият колега, който има достъп до него чрез JSF, може да редактира своя низ за връзка, предлагам да актуализирате паролата до такава, която се приема и от двамата. Ако не могат, тогава трябва да създадете друг потребител/роля със същото право на достъп, но различна парола, която може да се използва от Node.js.

РЕДАКТИРАНЕ:Или още по-добре, според дискусията тук, опитайте да кодирате частта с парола от низа за връзка. Казват, че работи. Не си направих труда да го пробвам, тъй като вече смених паролата си. Тъй като все още имате този проблем, може да искате първо да го опитате, преди да направите едно от двете ми предложения по-горе.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да напиша DataFrame в таблицата на postgres?

  2. Функция RPAD() в PostgreSQL

  3. Как да предам парола на pg_dump?

  4. Таблица Печат не отговаря на размера на страницата

  5. PostgreSQL:ролята не е разрешена за влизане