突然發現公司Tableau服務器的數據庫大小急劇增加,因此決定直接連上數據庫排查.過程記錄如下:最后發現有個http_requests 表體積巨大(7G),本來以為是數據緩存什么的.結果是日志問題o(╯□╰)o. 因為公司用的Tableau版本比較低無法直接查看該表,暫時沒動它,不知道會不會影響性能.
一.開啟Tableau Server數據庫訪問權限
1. 打開命令行提示窗口(管理員)進入Tableau程序所在目錄
cd "C:\Program Files\Tableau\Tableau Server\8.3\bin"
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:\service\Tableau Server\data\tabsvc\config\pg_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 Files\Tableau\Tableau Server\8.3\config) 置文件中的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