访问Tableau自带的PostgreSQL数据库

突然发现公司Tableau服务器的数据库大小急剧增加,因此决定直接连上数据库排查.过程记录如下:最后发现有个http_requests 表体积巨大(7G),本来以为是数据缓存什么的.结果是日志问题o(╯□╰)o. 因为公司用的Tableau版本比较低无法直接查看该表,暂时没动它,不知道会不会影响性能.

一.开启Tableau Server数据库访问权限

1. 打开命令行提示窗口(管理员)进入Tableau程序所在目录
cd "C:Program FilesTableauTableau Server8.3in"
2.  8.2.4及以前版本输入以下命令开启用户tableau访问数据库的命令
tabadmin dbpass [password]

例如启用”tableau”用户并且设定密码为”p@ssword”;

tabadmin dbpass p@ssword
8.2.5 及以上版本使用以下命令, 8.2.5版本多增加一个readonly用户可以访问数据库中所有表
tabadmin dbpass --username [tableau | readonly[password]

例如启用”tableau”用户并且设定密码为”p@ssword”;

tabadmin dbpass --username tableau p@ssword

或者开启”readonly”用户并且设定密码为”p@ssword”:

tabadmin dbpass --username readonly p@ssword
注意:如果未指明用户,则默认启用用户”tableau”
3. 设置访问权限

注意,默认情况下PostgreSQL 仅允许本地访问,因此需要在配置文件中配置远程访问的策略。配置文件地址如下:

C:serviceTableau Serverdata	absvcconfigpg_hba.conf
4. 重启Tableau Server
tabadmin restart

若要屏蔽访问可以使用以下命令

tabadmin dbpass --disable --username [user]

比如:

tabadmin dbpass --disable --username readonly 

tabadmin restart 

注意:如果未指定用户,则默认屏蔽"tableau"用户

官方文档地址:http://onlinehelp.tableausoftware.com/current/server/en-us/adminview_postgres_access.htm

二.使用PostgreSQL客户端访问

打开PostgreSQL客户端

Server:输入Tableau服务器地址

Database: Tableau自带数据库的名字叫 workgroup

Port: Tableau默认的端口为8060 --如果连不上,排除防火墙的原因,可以查看该目录(C:Program FilesTableauTableau Server8.3config) 置文件中的pgsql.port是否设定了其他端口

Username:  tableau 或 readonly

image

注意:Tableau用户无法读取数据库中的所有表.比如 http_requests 就没有权限,此时若要查看该表数据必须用只读账号Readonly

参考文档

官方使用Tableau Desktop连接数据库文档

http://onlinehelp.tableausoftware.com/current/server/en-us/adminview_postgres_connect.htm

Workgroup Database Data Dictionary

http://onlinehelp.tableau.com/current/server/en-us/data_dictionary.html

原文地址:https://www.cnblogs.com/haseo/p/4163050.html