更改与RedShift连接的架构

时间:2014-02-02 17:01:41

标签: amazon-redshift tableau

我有一个适用于RedShift的Tableau应用程序。 我有许多数据表保存在不同的模式中。 每个模式都具有相同格式的完全相同的表。

我也有一组用户。每个用户只应使用自己的模式(我有一个用户和模式之间的映射表)。

问题是如何根据当前用户名使Tableau查看不同的架构?

谢谢!

2 个答案:

答案 0 :(得分:3)

Redshift没有设置默认架构的能力,因为可以在MSSQL中设置默认数据库,但也许您可以使用search_path功能,当用户登录时,Tableau会查询用户/架构映射然后,table将search_path设置为该架构。任何后续查询首先查找该模式中的表/视图。有关search_path的详细信息,请参阅http://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html

答案 1 :(得分:1)

我认为您无法根据用户名动态更改架构名称。

Tableau工作簿(非打包)只是非常易读的xml文件。

在xml中定义了连接。假设你有一个模式/用户映射列表,你可能只需编写一个小脚本来生成一堆工作簿,只修改模式并使用tabcmd正确设置权限。

但有两点需要注意:

  1. Tableau通常不支持编辑XML。
  2. 我已经用MSSQL做了类似的事情(交换数据库dev,test和prod),所以我不确定Redshift连接的语法,但假设它非常相似。