Получение ошибки при соединении с внешней базой данных красного смещения в рельсах - PullRequest
0 голосов
/ 12 марта 2019

Получение этой ошибки:

PG :: InsufficientPrivilege: ОШИБКА: не разрешено разрешение для параметра "client_min_messages" равным "warning": SET client_min_messages TO 'warning' при соединении с базой данных красного смещения.

введите описание изображения здесь

Моя настройка файла database.yml выглядит следующим образом

development:
  adapter: postgresql
  encoding: utf8
  host: nacfhrcluster123.ctvpledrvuobs5.us-east-1.redshift.amazonaws.com
  port: 5439
  username: nacfhr123
  password: NACFDChr12345!
  database: devnacfhrdc
  pool: 5
  schema_search_path: 'beta'
  timeout: 5000 
  min_messages: warning

Ответы [ 3 ]

0 голосов
/ 13 марта 2019

Надеюсь, это поможет.Насколько я знаю, для Redshift нет доступных активных записей, и это не имеет смысла, так как Redshift не является типичным RDBMS.У нас есть похожий сценарий, в котором мы используем ROR для внешнего интерфейса для одного из приложений аналитики и планирования.

Вот наш сценарий приложения:

Внешний интерфейс: База данных ROR: mysql (OLTP) Datawarehouse:Redshift (OLAP)

Так происходит обмен данными между ROR и Redshift.

  • Вставка / обновление из ROR в Redshift (происходит очень редко).Для любых операций из ROR, которые влияют на что-то в хранилище данных, ROR выполняет PSQL команды с конкретным запросом, а не с помощью активных записей.
  • SELECT из Redshift (происходит часто) Аналогично, для получения данных из DW по разным причинамвыполняется с помощью запроса выбора и перенаправления в файл с помощью команды PSQL, затем он импортируется в OLTP с использованием myssqlimport.

Ссылка для psql , mysqlimport инструментов, которые мы используем.Прокомментируйте, если у вас есть дополнительные конкретные вопросы для продолжения.

0 голосов
/ 27 марта 2019

Спасибо, ребята, за ваши ответы.Я решил проблему, добавив гем с именем 'activerecord5-redshift-adapter' в свой гемфайл.Поэтому вам нужно добавить следующую строку в ваш gem-файл.

gem 'activerecord5-redshift-adapter'

и затем снова запустить bundle install.

0 голосов
/ 12 марта 2019

Важно понимать, что Redshift НЕ Postgres. Есть много отличий.

Одно отличие состоит в том, что доступные параметры сильно отличаются, единственные параметры, которые можно установить в Redshift:

analyze_threshold_percent
datestyle
extra_float_digits
query_group
search_path
statement_timeout
wlm_query_slot_count

Вам необходимо изменить соединение с рельсами, чтобы не запрашивать установку этого параметра.

Полагаю, это означает удаление min_messages: warning

...