通过postgresql查询tableau日志
Tableau Server安装时,会同时把postgresql数据库也安装上,用来存储Tableau Server的相关日志信息。我们本次希望获取到每张工作簿的数据提取刷新完成时间。待刷新完成后发送邮件给相关报表阅读人员,保障数据信息通知的及时性。
开始之前
备份{Tableau Server_Path}\data\tabsvc\config\pg_hba.conf,
如D:\Tableau Server\data\tabsvc\config\pg_hba.conf文件
1. 通过tsm命令创建readonly用户
tsm data-access repository-access enable --repository-username readonly --repository-password 用户密码 --新增用户
tsm pending-changes apply -- 应用新增修改
2. 配置远程访问postgresql
postgresql默认是支持远程访问的,但是为了安全,我们通常会把防火墙打开。这种情况下要想远程访问,就需要把防火墙的8060端口入站规则打开。(我们使用的微软云,在服务器上打开端口号不行,还需要在Azure上将端口开放)
3.修改配置文件,配置trust(该部分可不配置,且不建议配置)
配置trust是可以免密登陆,这种是不安全的,使用建议不做修改,保持md5不变,登陆时使用用户名密码即可。
打开{Tableau Server_Path}\data\tabsvc\config\pg_hba.conf,如D:\Tableau Server\data\tabsvc\config\pg_hba.conf
将 readonly 账号所有的 md5改为 trust
注意是readonly账号的所有md5都改成trust
4. 查询结果
psql -h localhost -p 8060 -U readonly -d workgroup
如果psql命令无法使用,则需要先配置环境变量,如将目录D:\Tableau Server\10.4\pgsql\bin配置到环境变量中。
select * from public.workbooks;
或者使用相应客户端配置查询
ip:xxx.xxx.xxx.xxx,如10.178.32.34
port:8060
user:readonly
pwd:用户密码
db:workgroup
使用的数据表为public.workbooks
获取时间时要注意可能会因为时区的影响导致时间慢8小时。