以獨立安裝的方式建立 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

  1. 使用PostgreSQL 文件安裝 PostgreSQL 資料庫執行個體作為 Tableau Server 的外部存放庫。可設定 PostgreSQL 資料庫叢集來滿足任何高可用性需求。
  2. 安裝包含 uuid-ossp 擴充功能的 contrib 套裝軟體。此模組用來產生資料庫中 Tableau Server 所需的金鑰 UUIDS。

  3. 初始化 PostgreSQL 執行個體。

步驟 1:配置 PostgreSQL 執行個體

您將使用兩個組態檔來設定 PostgreSQL 執行個體:

  • pg_hba:這是以主機為基礎身分驗證的組態檔。
  • postgresql.conf:這是通用的伺服器組態檔。。

預設情況下,這些檔案位於此處:

/var/lib/pgsql/12/data(這可能因分佈而異)

超級使用者設定

選擇符合需求的使用者名稱。建議使用 postgres 作為「管理員」的使用者名稱。若選擇使用其他使用者名稱,請確定該使用者名稱不是以 pg 為開頭。使用者名稱也不能為 railstblwgadmintableaureadonlytbladminviews

這是外部存放庫正常使用 Tableau Server 的要求。

網路與安全性

請確定所有 Tableau Server 節點都可以連線資料庫執行個體。這通常涉及建立允許從節點存取的安全性群組。

資料庫選項

連接埠可以任意設定,但建議保留為預設值 5432

更新參數

從 Tableau Server 的角度來看,可以將執行個體的大多數參數值設定為預設值。如果有特定的效能或記錄要求,可以修改參數值,但我們強烈建議將以下參數設定為預設值並且不要變更:

  • standard_conforming_strings

  • escape_string_warning

我們還建議將work_mem至少設定為 16384 以幫助避免效能問題。

設定遠端連線

使用以下步驟來更新組態檔:

  1. 預設的 postgresql.conf 設定為僅接聽本機連線。要啟用遠端連線,請在 postgresql.conf 檔案的連線和驗證部分進行以下變更:

    加入此行以允許遠端連線:

    listen_addresses = '*'

  2. 重新啟動 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):

  1. 產出簽署根憑證機構 (CA) 金鑰:

  2. 建立根 CA 憑證。
  3. 為 PostgreSQL 伺服器建立憑證和相關金鑰(例如 - server.csrserver.key)。憑證的主題名稱必須與 PostgreSQL 的 DNS 名稱相符。主題名稱使用 -subj 選項設定,格式為「/CN=<private DNS name>」。

  4. 使用步驟 2 建立的 CA 憑證簽署新憑證。
  5. 複製 crt 和金鑰檔案到資料目錄(/pgsql/<version>/data )。

  6. pg_hba.conf 檔控制與資料庫的連線。加入下行以允許遠端連線。例如:

    host all all 10.0.0.0/8 md5

  7. 要啟用 SSL,請透過以下方式新增或更新 postgresql.conf 檔案:

    ssl = on

    要僅限 SSL 連線,請將host 置換為hostssl

高可用性和災難復原

Tableau Server 不會管理或設定外部存放庫的高可用性。PostgreSQL 資料庫為這些目的提供多種解決方案,包括複製和記錄檔傳送。有關詳情,請參閱 PostgreSQL 網站上的 高可用性文件

在發生災難時,如果需要設定新的 PostgreSQL 執行個體,請遵照以下步驟設定 Tableau Server 使用新的執行個體。

  1. 建立新的 JSON 設定檔案,其中包含新 RDS 執行個體的連線資訊。有關建立 JSON 設定檔案的詳情,請參閱使用外部 PostgreSQL 存放庫安裝 Tableau Server步驟 1

  2. 使用 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 來設定獨立的外部存放庫,則需要擁有存取這些平台的帳戶。

感謝您的意見反應!已成功提交您的意見回饋。謝謝!