通过 Tableau Server 从 Tableau Desktop 访问 non-public PostgreSQL 数据库

Access non-public PostgreSQL DB from Tableau Desktop through Tableau Server

通读 Tableau Server 的文档后,我无法确定以下内容是否有效:

我也可以通过 Tableau Desktop 连接到 Tableau Server 但是我无法连接到 PostgreSQL,因为它不能直接从客户端计算机访问 运行 Tableau Desktop。

有没有办法从 Tableau Desktop 通过 Tableau Server 访问连接到 Tableau Server 的 non-public PostgreSQL 数据库?

如果可以通过 SSH 访问服务器,那么您可以设置端口转发隧道。

ssh -L 127.0.0.1:5432:postgres.example.com:5432 tableau.example.com

然后在 Tableau Desktop 的数据源中将主机从 postgres.example.com 更改为 127.0.0.1。如果存在 SSL 错误,您可能需要在 /etc/hosts 文件中添加一个条目并且不要更改主机名。

sudo echo '127.0.0.1 postgres.example.com' >> /etc/hosts

回答我自己的问题并遵循@matt_black 的评论,确实可以从 Tableau Desktop 访问和使用无法直接访问的已发布数据源。

为此,您需要登录 Tableau-Server UI(不是 TSM via 8850),创建工作簿,单击“数据源”(左下角)手角)添加一个或多个连接,然后返回任何“Sheet”选项卡(也是左下角)。

此时建议将工作簿另存为“模板”,即“my_published_datasoure_template”——解释如下。

保存工作簿后,您需要将鼠标悬停在“数据”选项卡中的数据源图标上,然后单击出现的下拉箭头以发布数据源。

需要指出的是,一旦数据源以这种方式发布,它会要求您立即更新工作簿,您必须拒绝,以便之后能够编辑工作簿的数据源。

如果以后需要编辑数据源,请务必删除之前发布的数据源,然后编辑并重新发布它。