На сайте Heroku указано, что DATABASE_URL устанавливается автоматически для вас. Я использовал команду heroku config
, чтобы подтвердить, что DATABASE_URL действительно установлен.
Однако, когда я использую команду pg package
const client = new Client({
connectionString: process.env.DATABASE_URL,
ssl: true,
});
и выполняю console.log(process.env.DATABASE_URL)
, переменная читается как undefined
.
Другие ошибки, которые я получение:
UnhandledPromiseRejectionWarning: Ошибка: сервер не поддерживает SSL-соединения
Полный код:
const express = require('express');
require('dotenv').config();
const { Client } = require('pg');
const app = express();
console.log(process.env.DATABASE_URL);
const client = new Client({
connectionString: process.env.DATABASE_URL,
ssl: true,
});
client.connect();
client.query('SELECT * FROM customers;', (err, res) => {
if (err) throw err;
for (let row of res.rows) {
console.log(JSON.stringify(row));
}
client.end();
});
app.get('/', (req, res) => {
res.send('Hello World')
});
app.listen(4000, () => {
console.log(`Server started on port`);
});
Код работает, когда Я использую свою локальную базу данных postgresql, но когда я пытаюсь подключиться к базе данных Heroku postgres, возникают указанные выше ошибки. Есть предложения?