---
schema_version: "1"
id: 5ea182442e3f90194eaaecb661e32c956f34c9ba94ea62e2a49ae351cbd6ef90
title: 在 AWS 关系数据库服务 (RDS) 上创建 PostgreSQL DB 实例
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server/server_external_repo_configure_RDS.md
canonical_url: https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_configure_RDS.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 7ccb7f329c5619a309153dbb8dd985bbe34a38bb933bc4c58c9312f93af917cc
description: Create a PostgreSQL DB instance on AWS RDS for the Tableau Server external repository.
---
[跳转到主要内容](#main-content)

# 在 AWS 关系数据库服务 (RDS) 上创建 PostgreSQL DB 实例

从 2019.3 版本开始，您可以在 AWS Cloud Platform 上托管您的外部存储库。本主题介绍如何创建 AWS RDS PostgreSQL DB 实例以用作 Tableau Server 外部存储库。

若要查看可用于外部存储库的主机的完整列表，请参见[Tableau Server 外部存储库](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo.htm)。

## 要求和建议

- 至少使用具有 8 个 vCPU 和 32GB RAM 的实例。这是推荐为 Tableau Server 外部存储库使用的最小 AWS RDS 实例大小，但具体要求将因您的要求和使用情况而异。我们建议使用 16 个 vCPU 和 128GB RAM Amazon RDS 内存优化实例类型以获得良好的性能。
    
    可以从较小的实例类型开始，如果以后发现需要更大的实例类型，则可以升级现有的 RDS 实例。有关详细信息，请参见[升级 RDS 实例](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_upgrade_RDS_instance_type.htm)。
    
    使用 SSL 实现 Tableau Server 和外部 PostgreSQL DB 实例之间的安全通信**不是**必需的，但建议这样做。
- Tableau Server 群集中的所有节点都必须可以访问 PostgreSQL DB 实例。可实现此目的的方法之一是：将 PostgreSQL DB 实例设为安全组的成员，该安全组具有必要的权限，使 Tableau Server 群集中的所有节点都能够访问。
- PostgreSQL 版本应与 Tableau Server 在本地安装时使用的版本相匹配。Tableau Server 2020.4 使用 PostgreSQL 版本 12。
- Tableau 自动生成供内部数据库用户内部使用的密码。这些密码长度为 32 个字符，由小写字母和数字组成。管理员无法访问或配置它们。您的外部 PostgreSQL 实例可能允许您设置密码策略（这取决于您使用的平台）。如果您指定的策略包括除数字和小写字母之外的字符类型，这可能会导致在将 Tableau Server 配置为使用外部存储库时出错。

## 在 Amazon RDS 上创建 PostgreSQL DB 实例

### 步骤 1：创建参数组

您为本地 PostgreSQL 实例在 _postgresql.conf_ 文件中设置的 PostgreSQL 参数保留在 DB 实例的 DB 参数组中。创建 DB 实例时，将加载关联的 DB 参数组中的参数。

从 Tableau Server 的角度来看，大多数参数都可以设置为默认值。如果您有特定的性能或日志记录要求，您可以修改参数值，但我们强烈建议将以下参数保留为默认值并且不要更改：

- `standard_conforming_strings`
- `escape_string_warning`

我们还建议将 `work_mem` 的值至少设置为 16384 以帮助避免性能问题。

有关 PostgreSQL 参数的详细信息和完整列表，请参见 AWS 网站上的[使用 PostgreSQL 参数](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters)。

### 步骤 2：在 Amazon RDS 上创建 PostgreSQL DB 实例

若要创建新的 PostgreSQL DB 实例，请按照 [Amazon 文档网站](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html)上提供的说明进行操作。

以下是适用于新 PostgreSQL DB 实例的配置选项和推荐值：

- **实例规范**
    
    - 使用在**步骤 1** 中创建的参数组。
    - 将兼容版本的 PostgreSQL 用于您正在使用的 Tableau Server 版本。有关与 Tableau Server 版本兼容的 PostgreSQL 版本的完整列表，请参见[产品兼容性](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_upgrade_postgres.htm#postgres-ts-compat)。
    - 使用 db.m4.2xlarge 或更大的 DB 实例类。
    - 至少分配 100 GB 的存储。
    - 存储类型和调配的 IOPS：保留默认值（推荐值可能会根据负载测试而变化）。
- **设置**
    
    - **必须**使用 **rails** 作为主用户名。
        
        > [!IMPORTANT]
        > 
        > **这是外部存储库与 Tableau Server 正常配合工作的要求。**
    - 选择符合 AWS 要求的密码。
- **网络和安全**
    
    - 确保所有 Tableau Server 节点都可访问 RDS 实例。这通常涉及创建一个允许通过节点访问的安全组。
- **数据库选项**
    
    - 不要创建初始数据库。数据库名称应留空，因为 Tableau Server 将在 RDS 实例中创建所需的数据库。
    - 该端口可以为任意端口，但我们建议将其保留为默认值 5432。
    - 将 DB 参数组设置为在**步骤 1** 中创建的参数组。
    - 将 IAM DB 身份验证保留为禁用状态。
- **加密**
    
    - 您可以选择是否希望加密。
- **备份**
    
    - 这适用于 AWS 的自动备份，而不是 Tableau Server 的备份。您可以指定符合要求的设置。
- 监视
    
    - 您可以根据要求指定设置。
- **日志导出**
    
    - 您可以根据要求指定设置。
- **维护**
    
    - 禁用自动次要版本升级。Tableau Server 是为使用特定版本的 PostgreSQL 而构建的。如果需要，在 Tableau Server 升级期间，系统会提示您升级 PostgreSQL 版本。
- **删除保护**
    
    - 您可以根据要求指定设置。

### 步骤 3：获取 PostgresSQL DB 实例端点

创建 PostgreSQL 数据库实例后，您不能在 AWS 完成其初始化之前使用它，这可能需要几分钟时间。实例准备就绪后，获取您将用于配置 Tableau Server，以便为 Tableau Server 存储库使用此实例的端点信息。

### 步骤 4：下载 SSL 证书文件（.pem 文件）

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

如果要在 Tableau Server 和外部存储库之间设置安全连接，则在将 Tableau Server 配置为将外部数据库实例用于 Tableau Server 存储库时将需要 .pem 文件。有关详细信息，请参见[使用 SSL 对 DB 实例加密](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.SSL)。

如果不需要在 Tableau Server 和外部存储库之间使用安全连接，则需要将 RDS 实例配置为允许未加密的连接。

> [!IMPORTANT]
> 
> **重要信息：**如果作为 RDS 实例的 SSL 证书计划过期的一部分，您需要使用新的证书文件更新 RDS 实例，则还需要更新 Tableau Server 设置以使用新的证书文件。可以通过下载最新文件和运行 _tsm topology external-services repository replace-host_ 命令并提供新的证书文件来执行此操作。

## 为 PostgreSQL DB 配置高可用性

Tableau Server 不会为外部存储库管理或设置高可用性。Amazon RDS 提供了可用于提供高可用性、管理故障转移等的高可用性功能。有关详细信息，请参见 [Amazon RDS 高可用性](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)。

## PostgreSQL DB 的灾难恢复

如果发生灾难，您可能需要设置新的 RDS 实例。在其他情形下，您可能需要从 RDS 实例的问题中恢复。例如，升级 Tableau Server 时，可能还需要升级 RDS 实例上的 PostgreSQL 版本。如果您的 PostgreSQL 升级不成功，您可能必须使用新的 RDS 实例。在这种情形下，若要将 Tableau Server 配置为使用新的 RDS 实例，请使用以下步骤：

1. **将快照还原到新的 RDS 实例。**AWS 不支持将快照还原到现有 RDS 实例。有关 RDS 快照备份和还原的详细信息，请参见 [Amazon RDS 备份和还原](https://aws.amazon.com/rds/details/backup/)。
2. **创建新的 JSON 设置文件**，其中包含新 RDS 实例的连接信息。有关创建 JSON 设置文件的详细信息，请参见[随外部 PostgreSQL 存储库一起安装 Tableau Server](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_new_install.htm)中的**步骤 1**。
3. **使用** `tsm topology external-services repository replace-host` **命令**将 Tableau Server 指向新的 RDS 实例。
    
    有关 `tsm topology external-services repository replace-host` 命令的详细信息，请参见[tsm topology](https://help.tableau.com/v0.0/server/zh-cn/cli_topology_tsm.htm)。

## 谁可以执行此操作

只有 Tableau Server 管理员可以将 Tableau Server 配置为使用外部存储库。您还需要一个 AWS 账户来创建 RDS 实例。

## 后续步骤

对于新安装：[随外部 PostgreSQL 存储库一起安装 Tableau Server](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_new_install.htm)

如果要将现有 Tableau Server 配置为使用外部存储库，请参见[重新配置 Tableau Server 存储库](https://help.tableau.com/v0.0/server/zh-cn/server_external_repo_reconfigure.htm)。