以独立安装的形式创建 PostgreSQL 数据库

从版本 2021.2 开始,您可以将 Tableau Server 存储库作为独立安装单独托管。这与使用托管云服务(例如 AWS RDS 或 Azure Database)不同。此配置可以在本地、AWS EC2 或 Azure VM 上完成。Tableau Server 存储库的此类安装将称为独立外部存储库。

若要查看可用于外部存储库的主机的完整列表,请参见Tableau Server 外部存储库

本主题提供有关 Tableau Server 连接到 PostgreSQL 安装并将其用作 Tableau Server 外部存储库所需的要求和配置的指南。本主题未向您提供有关如何安装 PostgreSQL 的详细说明。我们建议您按照 PostgreSQL 站点上的文档操作来获取此信息。

要求和建议

  • 硬件推荐配置:CPU 和存储取决于您的要求。对于较小的安装,您应该至少有 50 GB 的磁盘存储空间,以及一个带有 32 GB RAM 的四处理器(或 4 个虚拟内核)系统。查看本主题中的指南以计算备份和还原的磁盘空间要求。一般建议是开始时配备更多的硬件资源,并在监控后缩减。

  • 网络:PostgreSQL 数据库实例必须可通过 Tableau Server 群集中的所有节点访问。可实现此目的的方法之一是:将 PostgreSQL 数据库实例设为安全组的成员,该安全组具有必要的权限,使 Tableau Server 群集中的所有节点都能够访问。

  • 版本兼容性:PostgreSQL 版本应与本地安装时 Tableau Server 的版本相匹配。有关兼容性的详细信息,请参见产品兼容性
  • 安全性:Tableau Server 和外部存储库之间使用 SSL 的安全连接不是必需的,但是

    如果您不想在 Tableau Server 和外部存储库之间设置安全连接,则应配置独立的 PostgreSQL 数据库以允许未加密的连接。

创建独立的 PostgreSQL 数据库实例

步骤 1:安装并初始化 PostgreSQL

  1. 使用 PostgreSQL 文档安装 PostgreSQL 数据库实例以用作 Tableau Server 的外部存储库。您可能希望设置 PostgreSQL 数据库群集以满足您可能有的任何高可用性要求。
  2. 安装包含 uuid-ossp 扩展程序的 contrib 包。此模块用于生成 Tableau Server 用于数据库中的密钥的 UUIDS。

  3. 初始化 PostgreSQL 实例。

步骤 1:配置您的 PostgreSQL 实例

您将使用两个配置文件来配置您的 PosgreSQL 实例:

  • pg_hba:这是通用的服务器配置文件。
  • postgresql.conf:这是基于主机的身份验证的配置文件。

默认情况下,这些配置文件位于:

C:\Program Files\PostgreSQL\<版本>\Data

超级用户设置

选择满足您要求的用户名。我们建议使用 postgres 作为管理员用户名。如果选择使用其他用户名,请确保用户名不以 pg 开头。用户名也不能是 railstblwgadmintableaureadonlytbladminviews

这是外部存储库与 Tableau Server 正常配合工作的要求。

网络和安全

确保所有 Tableau Server 节点都可访问数据库实例。这通常涉及创建一个允许通过节点访问的安全组。

数据库选项

该端口可以为任意端口,但我们建议将其保留为默认值 5432。

更新参数

使用如下所示的 Tableau 推荐值更新 posgresql.conf 文件中的 PostgreSQL 配置:

名称 数据类型 参数类型 推荐的 Tableau 配置值 描述
autovacuum 布尔值 动态 1 启动 subprocess 子进程。
client_min_messages 字符串 动态 error 设置发送到客户端的消息级别。
escape_string_warning 布尔值 动态 0 有关普通字符串文本中的反斜杠 (\) 转义的警告。
lc_monetary 字符串 动态 en_US.UTF-8 设置用于设置货币金额格式的区域设置。
lc_numeric 字符串 动态 en_US.UTF-8 设置用于设置数字格式的区域设置。
log_autovacuum_min_duration 整数 动态 100 设置最短执行时间,超过该时间即会记录 autovacuum 操作。
log_connections 布尔值 动态 1 记录每次成功的连接。
log_lock_waits 布尔值 动态 1 记录长时间锁定等待。
log_min_duration_statement 整数 动态 100 设置最短执行时间,超过该时间即会记录语句。
log_min_messages 字符串 动态 error 设置记录的消息级别。
log_temp_files 整数 动态 128 记录使用的临时文件大于此千字节数的情况。
standard_conforming_strings 布尔值 动态 0 原因...要按字面意义处理反斜杠的字符串。
work_mem 整数 动态 16384 设置用于查询工作区的最大内存。

配置远程连接

使用以下步骤来更新配置文件:

  1. 默认情况下,posgresql.conf 中的配置配置为仅侦听本地连接。通过在 posgresql.conf 文件的 connections 和 authentication 部分进行以下更改来启用远程连接:

    添加此行以允许远程连接:

    listen_addresses = '*'

  2. 重新启动 PosgreSQL 实例。

配置 SSL

Tableau Server 和外部存储库之间的安全连接不是必需的,但建议使用。

若要在 Tableau Server 和外部存储库之间配置加密连接,请按照以下指南和详细步骤进行操作:

将 Tableau Server 配置为使用独立 PostgreSQL 数据库实例时,您需要提供受信任的根证书颁发机构 (CA),用于验证与服务器的连接。理想情况下,独立 PostgreSQL 实例的服务器证书应指定可解析的主机名,以便 Tableau Server 可以使用 sslmode verify-full。此模式验证 PostgreSQL 服务器的证书是否由受信任的 CA 签名,并且 PostgresSQL 服务器证书中的主机名与用于连接到 PostgreSQL 实例的主机名匹配。但是,如果这是不可能的,sslmode verify-ca 将仅验证 Postgres 服务器的证书是否由受信任的 CA 签名。

以下过程提供了在 PosgreSQL 服务器上生成根 CA 证书的一般步骤。有关更详细的信息,请阅读 PosgreSQL 网站上的 SSL 文档(链接指向版本 12):

  1. 生成签名根证书颁发机构 (CA) 密钥。

  2. 创建根 CA 证书。
  3. 为 PostgreSQL 服务器创建证书和相关密钥(例如 - server.csr 和 server.key)。证书的使用者名称必须与 PostgreSQL 服务器的 DNS 名称匹配。使用者名称使用 -subj 选项设置,格式为“/CN=<专用 DNS 名称> ”。

  4. 使用您在步骤 2 中创建的 CA 证书为新证书签名。
  5. 将证书和密钥文件复制到数据目录 (/pgsql/<version>/data)。

  6. pg_hba.conf 文件控制与数据库的连接。添加以下一行以允许远程连接。例如:

    host all all 10.0.0.0/8 md5

  7. 若要启用 SSL,请添加或使用以下内容更新 posgresql.conf 文件:

    ssl = on

    若要将连接限制为仅 SSL,请使用 hostssl 而不是 host

高可用性和灾难恢复

Tableau Server 不会为外部存储库管理或设置高可用性。PosgreSQL 数据库支持用于这些目的的多种解决方案,包括复制和日志传送。有关详细信息,请参见 PostgreSQL 网站上的高可用性文档

在发生灾难时,如果您需要设置新的 PostgreSQL 实例,请确保按照以下步骤将 Tableau Server 配置为使用新实例。

  1. 创建新的 JSON 设置文件,其中包含新 RDS 实例的连接信息。有关创建 JSON 设置文件的详细信息,请参见随外部 PostgreSQL 存储库一起安装 Tableau Server中的步骤 1

  2. 使用 tsm topology external-services repository replace-host 命令将 Tableau Server 指向新的 PosgreSQL 实例。

    有关 tsm topology external-services repository replace-host 命令的详细信息,请参见tsm topology

谁可以执行此操作

只有 Tableau Server 管理员可以将 Tableau Server 配置为使用外部存储库。如果您使用 AWS EC2 或 Azure VM 来设置独立的外部存储库,则需要拥有访问这些平台的帐户。

感谢您的反馈!