Я пытаюсь добавить базу данных PostgreSQL в мой существующий проект nodejs на heroku.У меня проблемы с доступом к локальной версии базы данных, а также с записью в базу данных heroku.Вот часть кода, который я пробовал:
const { Client } = require('pg');
const client = new Client({
connectionString: process.env.DATABASE_URL,
ssl: true,
});
client.connect();
// client
let qu = 'SELECT table_schema,table_name FROM information_schema.tables;';
//qu = 'CREATE TABLE test (name varchar(40));';
//qu = 'SELECT * FROM test;';
// qu = 'INSERT INTO test name VALUES("testasdf");';
// qu = 'CREATE DATABASE X
client.query(qu, (err, res) => {
//console.log("trying");
if (err) throw err;
for (let row of res.rows) {
console.log(JSON.stringify(row));
}
client.end();
});
Я попробовал следовать приведенным здесь инструкциям: https://devcenter.heroku.com/articles/heroku-postgresql
, но я не могу получить доступ к локальной базе данных или сделать что-либо дляудаленный.
Вот локальное сообщение об ошибке:
(узел: 8402) UnhandledPromiseRejectionWarning: ошибка: сбой аутентификации по паролю для пользователя "..." в Connection.parseE (.../theland/node_modules/pg/lib/connection.js:553:11) в Connection.parseMessage (... / theland / node_modules / pg / lib / connection.js: 378: 19) в TLSSocket.(... / theland / node_modules / pg / lib / connection.js: 119: 22) в emitOne (events.js: 116: 13) в TLSSocket.emit (events.js: 211: 7) в addChunk (_stream_readable.js: 263: 12) в readableAddChunk (_stream_readable.js: 250: 11) в TLSSocket.Readable.push (_stream_readable.js: 208: 10) в TLSWrap.onread (net.js: 597: 20) (узел: 8402)UnhandledPromiseRejectionWarning: необработанное отклонение обещания.Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().(идентификатор отклонения: 1) (узел: 8402) [DEP0018] Предупреждение об устаревании: отклонения необработанного обещания устарели.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
Я не знаю, как создать таблицу на удаленной.
Я работаю в Linux с node-v = 8.11.2 npm-v = 6.1.0 pg: ^ 7.4.3
Я тоже использую psql, без графического интерфейса.
Спасибоза помощь.
РЕДАКТИРОВАТЬ --- Где я должен добавить аутентификацию?Нужно ли снимать скрипт с github, если я добавляю аутентификацию и не хочу, чтобы люди могли быть администраторами для моей базы данных?