突然发现公司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
注意: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