在Rails中与外部Redshift数据库连接时出现错误

时间:2019-03-12 09:42:32

标签: ruby-on-rails postgresql amazon-redshift

出现此错误:

  

PG :: InsufficientPrivilege:错误:拒绝设置参数的权限   “ client_min_messages”到“警告”:SET client_min_messages TO   与redshift数据库连接时“警告”。

enter image description here

我的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

2 个答案:

答案 0 :(得分:0)

我希望这会有所帮助。据我所知,Redshift没有可用的活动记录,而且Redshift不是典型的RDBMS也没有意义。 在类似的情况下,我们将ROR用作分析和计划应用程序之一的前端。

这是我们的应用场景:

前端:ROR 数据库:mysql(OLTP) 数据仓库:Redshift(OLAP)

这是数据在ROR和Redshift之间来回流动的方式。

  • 从ROR插入/更新到Redshift(很少发生)。 对于ROR中任何会影响数据仓库的操作,ROR都会使用特定查询而不是通过活动记录来执行PSQL命令。
  • 从Redshift中进行选择(经常发生) 类似地,为了通过选择查询从DW获取数据,并使用PSQL命令将其重定向到文件,然后使用OLTP将其导入myssqlimport

我们使用的psqlmysqlimport工具的链接。 如果您还有其他具体的后续问题,请发表评论。

答案 1 :(得分:0)

谢谢你们的回应。我通过在我的gemfile中添加一个名称为'activerecord5-redshift-adapter'的gem解决了该问题。因此,您必须在gem文件中添加以下行。

gem'activerecord5-redshift-adapter'

然后再次运行捆绑安装。