以獨立安裝的方式建立 PostgreSQL 資料庫
從版本 2021.2 開始,可將 Tableau Server 存放庫作為獨立安裝主機。這與使用雲端服務管理(例如 AWS RDS 或 Azure 資料庫)有所不同。此組態可以在本機、AWS EC2 或 Azure VM 上完成。Tableau Server 存放庫的此類安裝將稱為獨立外部存放庫。
若要檢視可用於外部存放庫的完整主機清單,請參閱Tableau Server 外部存放庫。
本主題提供 Tableau Server 連線到 PostgreSQL 安裝程式,以及作為 Tableau Server 外部存放庫所需的要求和組態的指引。本主題不提供如何安裝 PostgreSQL 的詳細說明,相關資料請參閱PostgreSQL 網站上的文件。
要求和建議
硬體推薦設定: 符合需求的 CPU 和儲存空間。基本安裝需要至少 50 GB 的磁碟儲存空間,以及帶有 32 GB RAM 的四核心處理器(或 4 個虛擬核心)系統。查看本主題中的指引來計算備份與還原的磁碟空間需求。一般建議是從較多的硬件資源開始,然後在監控後縮減。
網路:Tableau Server 叢集中的所有節點都必須能夠連線 PostgreSQL 資料庫執行個體。其中一種使用方法是讓 PostgreSQL 資料庫執行個體,成為擁有必要權限且可供 Tableau Server 叢集所有節點存取的安全性群組成員。
- 版本相容性:本機安裝時,PostgreSQL 版本應與 Tableau Server 存放庫的版本相符。有關相容性的詳情,請參閱產品相容性。
安全性:不需要使用 SSL 在 Tableau Server 和外部存放庫之間進行安全的連線,但建議使用。
若不想在 Tableau Server 和外部存放庫之間設定安全的連線,則應將獨立的 PostgreSQL 資料庫設定為允許未加密的連線。
建立獨立的 PostgreSQL 資料庫執行個體
步驟 1:安裝並初始化 PostgreSQL
- 使用PostgreSQL 文件安裝 PostgreSQL 資料庫執行個體作為 Tableau Server 的外部存放庫。可設定 PostgreSQL 資料庫叢集來滿足任何高可用性需求。
安裝包含 uuid-ossp 擴充功能的 contrib 套裝軟體。此模組用來產生資料庫中 Tableau Server 所需的金鑰 UUIDS。
- 初始化 PostgreSQL 執行個體。
步驟 1:配置 PostgreSQL 執行個體
您將使用兩個組態檔來設定 PostgreSQL 執行個體:
pg_hba
:這是以主機為基礎身分驗證的組態檔。postgresql.conf
:這是通用的伺服器組態檔。。
預設情況下,這些檔案位於此處:
/var/lib/pgsql/12/data
(這可能因分佈而異)
超級使用者設定
選擇符合需求的使用者名稱。建議使用 postgres 作為「管理員」的使用者名稱。若選擇使用其他使用者名稱,請確定該使用者名稱不是以 pg 為開頭。使用者名稱也不能為 rails、tblwgadmin、tableau、readonly 或 tbladminviews。
這是外部存放庫正常使用 Tableau Server 的要求。
網路與安全性
請確定所有 Tableau Server 節點都可以連線資料庫執行個體。這通常涉及建立允許從節點存取的安全性群組。
資料庫選項
連接埠可以任意設定,但建議保留為預設值 5432
。
更新參數
從 Tableau Server 的角度來看,可以將執行個體的大多數參數值設定為預設值。如果有特定的效能或記錄要求,可以修改參數值,但我們強烈建議將以下參數設定為預設值並且不要變更:
standard_conforming_strings
escape_string_warning
我們還建議將work_mem
至少設定為 16384
以幫助避免效能問題。
設定遠端連線
使用以下步驟來更新組態檔:
預設的
postgresql.conf
設定為僅接聽本機連線。要啟用遠端連線,請在postgresql.conf
檔案的連線和驗證部分進行以下變更:加入此行以允許遠端連線:
listen_addresses = '*'
- 重新啟動 PostgreSQL 執行個體。
設定 SSL
不需要但建議在 Tableau Server 和外部存放庫之間進行安全的連線。
要設定 Tableau Server 和外部存放庫之間的加密連線,請按照以下指南和詳細步驟進行操作:
將 Tableau Server 設定為使用獨立 PostgreSQL 資料庫執行個體時,需要提供受信任的根憑證機構 (CA),用於驗證與伺服器的連線。理想情況下,獨立 PostgreSQL 執行個體的伺服器憑證應指定可解析的主機名稱,以便 Tableau Server 可以使用 sslmode, verify-full 。此模式驗證 PostgreSQL 伺服器憑證是否由受信任的 CA 簽名,並且 PostgresSQL 伺服器憑證中的主機名稱,與用來連線 PostgreSQL 執行個體的主機名稱相符。但是,如果這不可行,sslmode, verify-ca將僅驗證 Postgres 伺服器憑證是否由受信任的 CA 簽署。
以下程序是在 PostgreSQL 伺服器上產生根 CA 憑證的一般步驟。有關詳情,請參閱 PostgreSQL 網站上的 SSL 文件(連結指向版本 12):
產出簽署根憑證機構 (CA) 金鑰:
- 建立根 CA 憑證。
為 PostgreSQL 伺服器建立憑證和相關金鑰(例如 -
server.csr
和server.key
)。憑證的主題名稱必須與 PostgreSQL 的 DNS 名稱相符。主題名稱使用 -subj 選項設定,格式為「/CN=<private DNS name>
」。- 使用步驟 2 建立的 CA 憑證簽署新憑證。
複製 crt 和金鑰檔案到資料目錄(
/pgsql/<version>/data
)。pg_hba.conf
檔控制與資料庫的連線。加入下行以允許遠端連線。例如:host all all 10.0.0.0/8 md5
要啟用 SSL,請透過以下方式新增或更新
postgresql.conf
檔案:ssl = on
要僅限 SSL 連線,請將host 置換為hostssl。
高可用性和災難復原
Tableau Server 不會管理或設定外部存放庫的高可用性。PostgreSQL 資料庫為這些目的提供多種解決方案,包括複製和記錄檔傳送。有關詳情,請參閱 PostgreSQL 網站上的 高可用性文件。
在發生災難時,如果需要設定新的 PostgreSQL 執行個體,請遵照以下步驟設定 Tableau Server 使用新的執行個體。
建立新的 JSON 設定檔案,其中包含新 RDS 執行個體的連線資訊。有關建立 JSON 設定檔案的詳情,請參閱使用外部 PostgreSQL 存放庫安裝 Tableau Server 的步驟 1。
使用
tsm topology external-services repository replace-host
命令將 Tableau Server 指向新的 PostgreSQL 執行個體。有關
tsm topology external-services repository replace-host
命令的詳情,請參閱 tsm topology。
誰可以執行此動作
只有 Tableau Server 管理員可以將 Tableau Server 設定為使用外部存放庫。如果使用 AWS EC2 或 Azure VM 來設定獨立的外部存放庫,則需要擁有存取這些平台的帳戶。