Что-то не так с тем, как postgresql подключается к моей базе данных при указании объекта parameters?

#javascript #node.js #postgresql

#javascript #node.js #postgresql

Вопрос:

Я использую node.js для подключения к моей базе данных postgres.

Я меняю способ создания соединения с моей базой данных postgres, чтобы указать максимальное количество подключений.

Это существующий фрагмент кода: (я заменил фактического пользователя / пароль на user и password; имя базы данных совпадает с именем пользователя)

 // Load and initialize pg-promise:
const pgp = require('pg-promise')(initOptions);

let cn = process.env.DATABASE_URL_FULL

// Create the database instance:
const db = pgp(cn);
 

Где DATABASE_URL_FULL = postgres://user:password@manny.db.elephantsql.com:5432/user

Это работает нормально. Однако, когда я использую это:

 // Load and initialize pg-promise:
const pgp = require('pg-promise')(initOptions);

// Connection parameters
const cn = {
    host: process.env.DATABASE_URL,
    port: process.env.DATABASE_PORT,
    database: process.env.DATABASE_NAME,
    user: process.env.DATABASE_USER,
    password: process.env.DATABASE_PASSWORD,
    max: process.env.DATABASE_MAX_CON,
    idleTimeoutMillis: process.env.DATABASE_IDLE_TIMEOUT
};

// Create the database instance:
const db = pgp(cn);
 

Где DATABASE_URL = manny.db.elephantsql.com
Я получаю эту ошибку:

 Unhandled rejection Error: getaddrinfo ENOTFOUND postgres://manny.db.elephantsql.com postgres://manny.db.elephantsql.com:5432
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
 

Заранее большое спасибо!

Комментарии:

1. Хорошо, я заметил, что, хотя я установил переменную среды на manny.db.elephantsql.com , она все еще использовала postgres://manny.db.elephantsql.com это очень странно. Я очистил свои переменные среды, перезагрузил и установил их снова. теперь он работает на моей машине разработки (используя URL elephantsql) — следующий шаг, протестируйте его в моем экземпляре GCP.