Как избежать ошибки ClientAccess в Heroku Postgres?

avatar
Rhishisikk
1 июля 2021 в 20:55
34
1
0

Технический стек: node/js, knex, pg

Проблема: на моей локальной машине мой API работает нормально. Перенесено на Heroku с использованием базы данных Heroku Postgres.

Проверено на данный момент:

  • Добавление конечной точки, которая возвращает JSON без обращения к базе данных, работает без ошибок.
  • При попытке сброса в knex есть файл pg_hba.conf, в котором отсутствует запись. Хотя это выглядит как кандидат на причину этой ошибки, я не вижу текущего способа просмотреть его, не говоря уже о его редактировании.
  • Удаление и повторное создание базы данных изменяет учетные данные, но не ошибку.

Запрос почтальона: GET http://node-express-postgres-neometau.herokuapp.com/api/ipsource (и HTTP, и HTTPS возвращают одну и ту же ошибку)

выполнение кода:

 router.get("/", (req, res) => {
   ipsource.getAllIPSource()
     .then(data => {
         res.status(201).json(data);
       }).catch((err) => {
           res.status(500).json({
              message: "Undefined error on server.",
               error: err
           })
       })
})

возвращена ошибка:

"error": {
        "length": 168,
        "name": "error",
        "severity": "FATAL",
        "code": "28000",
        "file": "auth.c",
        "line": "496",
        "routine": "ClientAuthentication"
    }

Я ничего не менял по сравнению с настройками по умолчанию; в руководстве, которому я следую (апрель 2020 г.), не нужно ничего менять.

Была более ранняя ошибка, когда таблица не была определена, была создана таблица с помощью интерфейса командной строки Heroku и вставлена ​​пробная строка.

Где какие настройки мне нужно изменить?

Источник

Ответы (1)

avatar
Laurenz Albe
2 июля 2021 в 05:13
0

Ошибка означает, что сервер PostgreSQL не принимает подключения от вашего хоста с использованием этой базы данных и имени пользователя.

Вам потребуется добавить соответствующую запись в файл pg_hba.conf в каталоге данных PostgreSQL и перезагрузить PostgreSQL.

Rhishisikk
2 июля 2021 в 16:30
0

Я узнал, как войти в свой dyno, но, похоже, у меня нет доступа к каталогу /var/lib/pgsql/10/data. (где журналы ошибок, похоже, указывают, что этот файл живет)