Active Record получает PG :: InsufficientPrivilege: ERROR: при выходе разрешения для пользователя - PullRequest
0 голосов
/ 12 октября 2018

Мы используем Gem PaperTrail, поэтому в postgres у нас есть таблица с именем xxx.versions.

Через локальные рельсовые консоли мы пытаемся запросить базу данных через объект PaperTrail:
PaperTrail::Version.first

PG :: InsufficientPrivilege: ОШИБКА: в доступе для версий отношений отказано: SELECT"версии". * FROM "версии" ORDER BY "версии". "id" ASC LIMIT 1

но если я получу доступ к таблице следующим образом:

ActiveRecord::Base.connection.execute("SELECT * FROM xxx.versions limit 1")

записьset возвращается.

Это происходит только тогда, когда мы пытаемся подключиться к БД с наших локальных компьютеров.

Если я запускаю PaperTrail::Version.first с консоли rails на одном из серверов qa, к которому он подключаетсяпросто отлично.

Прочие сведения об устранении неполадок:

  • Я использовал те же учетные данные, что и сервер qa, и получил те же результаты.
  • На моем локальном компьютере я могу нормально запросить БД из DataGrip / pgadmin вне проекта rails.

1 Ответ

0 голосов
/ 15 октября 2018

Существует несколько возможностей:

  • В обеих попытках вы используете другого пользователя или базу данных PostgreSQL.

  • Существует другое отношение versions в другой схеме до xxx в search_path.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...