ошибка «500 не удалось получить записи» при использовании службы PostgreSQL с DreamFactory

#postgresql #dreamfactory

#postgresql #dreamfactory

Вопрос:

Я настроил службу, приложение и роли для своей конечной точки. Я могу успешно запускать вызовы API из документов API DreamFactory для / schema, /function , /table — в основном для всех отдельных узлов, у которых нет имени таблицы.

Когда я добавляю имя таблицы (например, /table/myTableName) Я получаю сообщение об ошибке 500:

 {
  "error": {
    "code": 500,
    "context": null,
    "message": "Failed to retrieve records from 'getresidents'.nSQLSTATE[42703]: Undefined column: 7 ERROR:  column d.adsrc does not existnLINE 1: ...ER(format_type(a.atttypid, a.atttypmod)) AS type, d.adsrc, a...n                                                             ^ (SQL: SELECT a.attname, LOWER(format_type(a.atttypid, a.atttypmod)) AS type, d.adsrc, a.attnotnull, a.atthasdef,ntpg_catalog.col_description(a.attrelid, a.attnum) AS commentnFROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnumnWHERE a.attnum amp;> 0 AND NOT a.attisdroppedntAND a.attrelid = (SELECT oid FROM pg_catalog.pg_class WHERE relname=:tablenttAND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = :schema))nORDER BY a.attnum)",
    "status_code": 500
  }
}
 

Это происходит даже при запуске из документов API внутри приложения DreamFactory.

Я запускаю это как пользователь-администратор и все еще получаю эту ошибку.

Есть ли какие-либо конкретные разрешения, которые мне нужны для пользователя? Я даже пытаюсь использовать пользователя postgres по умолчанию и получаю эту ошибку.

Мне действительно нужна помощь от любого, кто может предложить помощь. Спасибо.

Ответ №1:

Найдено решение этой проблемы. Я запускал PostgreSQL 13. Поэтому я решил создать установку PostgreSQL версии 12. Соединение сработало. Не знаю почему, но, похоже, в 12 все работает без сбоев, но не в 13. Было бы интересно услышать от разработчиков какие-либо комментарии по этому поводу.

Ответ №2:

Мы рассмотрели эту проблему, и действительно, PostgreSQL 13 не поддерживается в текущей версии DreamFactory из-за простой ошибки в кодировании, связанной с определением номера версии. Мы определили проблему и позже на этой неделе выпустим новую версию DreamFactory с исправлением!

Спасибо, Джейсон