---
schema_version: "1"
id: 491d238927c44b352866738667a2181988bffbc8238f7b2bd9512ba14370c0e2
title: 以独立安装的形式创建 PostgreSQL 数据库
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server-linux/server_external_repo_configure_standalone.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-cn/server_external_repo_configure_standalone.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 477d2d8d318ec5e56eee467221cdd3418f9411eb51a03328d27cd1480bdd0512
description: Create a stand-alone PostgreSQL database for the Tableau Server external repository.
---
[跳转到主要内容](#main-content)

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

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

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

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

## 要求和建议

- **硬件推荐配置：**CPU 和存储取决于您的要求。对于较小的安装，您应该至少有 50 GB 的磁盘存储空间，以及一个带有 32 GB RAM 的四处理器（或 4 个虚拟内核）系统。查看[本主题](https://help.tableau.com/v0.0/server-linux/zh-cn/requ_diskspace.htm#backup-and-restore-processes)中的指南以计算备份和还原的磁盘空间要求。一般建议是开始时配备更多的硬件资源，并在监控后缩减。
- **网络：**PostgreSQL 数据库实例必须可通过 Tableau Server 群集中的所有节点访问。可实现此目的的方法之一是：将 PostgreSQL 数据库实例设为安全组的成员，该安全组具有必要的权限，使 Tableau Server 群集中的所有节点都能够访问。
- **版本兼容性：**PostgreSQL 版本应与本地安装时 Tableau Server 存储库的版本相匹配。有关兼容性的详细信息，请参见[产品兼容性](https://help.tableau.com/v0.0/server-linux/zh-cn/server_external_repo_upgrade_postgres.htm#postgres-ts-compat)。
- **安全性：**Tableau Server 和外部存储库之间使用 SSL 的安全连接**不是**必需的，但建议设置。
    
    如果您不想在 Tableau Server 和外部存储库之间设置安全连接，则应配置独立的 PostgreSQL 数据库以允许未加密的连接。

## 创建独立的 PostgreSQL 数据库实例

### 步骤 1：安装并初始化 PostgreSQL

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

### 步骤 2：配置您的 PostgreSQL 实例

您将使用两个配置文件来配置您的 PostgreSQL 实例：

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

默认情况下，这些文件位于以下位置：

`/var/lib/pgsql/12/data`（此位置可能因发行版本而异）

#### 超级用户设置

选择满足您要求的用户名。我们建议使用 **postgres** 作为管理员用户名。如果选择使用其他用户名，请确保用户名不以 **pg** 开头。用户名也不能是 **rails**、**tblwgadmin**、**tableau**、**readonly** 或 **tbladminviews**。

> [!IMPORTANT]
> 
> **这是外部存储库与 Tableau Server 正常配合工作的要求。**

#### 网络和安全

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

#### 数据库选项

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

#### 更新参数

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

- `standard_conforming_strings`
- `escape_string_warning`

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

#### 配置远程连接

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

1. 默认情况下，`postgresql.conf` 中的配置配置为仅侦听本地连接。通过在 `postgresql.conf` 文件的 connections 和 authentication 部分进行以下更改来启用远程连接：
    
    添加此行以允许远程连接：
    
    `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 文档](https://www.postgresql.org/docs/12/ssl-tcp.html)（链接指向版本 12）：

1. 生成签名根证书颁发机构 (CA) 密钥。
2. 创建根 CA 证书。
3. 为 PostgreSQL 服务器创建证书和相关密钥（例如 -`server.csr` 和 `server.key`）。证书的使用者名称必须与 PostgreSQL 服务器的 DNS 名称匹配。使用者名称使用 -subj 选项设置，格式为“`/CN=<private DNS name>`”。
4. 使用您在步骤 2 中创建的 CA 证书为新证书签名。
5. 将证书和密钥文件复制到数据目录 (`/pgsql/<version>/data`)。
6. `pg_hba.conf` 文件控制与数据库的连接。添加以下一行以允许远程连接。例如：
    
    `host all all 10.0.0.0/8 md5`
7. 若要启用 SSL，请添加或使用以下内容更新 `postgresql.conf` 文件：
    
    `ssl = on`
    
    若要将连接限制为仅 SSL，请使用 _hostssl_ 而不是 _host_。

## 高可用性和灾难恢复

Tableau Server 不会为外部存储库管理或设置高可用性。PostgreSQL 数据库支持用于这些目的的多种解决方案，包括复制和日志传送。有关详细信息，请参见 PostgreSQL 网站上的[高可用性文档](https://www.postgresql.org/docs/current/high-availability.html)。

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

1. **创建新的 JSON 设置文件**，其中包含新 RDS 实例的连接信息。有关创建 JSON 设置文件的详细信息，请参见[随外部 PostgreSQL 存储库一起安装 Tableau Server](https://help.tableau.com/v0.0/server-linux/zh-cn/server_external_repo_new_install.htm)中的**步骤 1**。
2. **使用** `tsm topology external-services repository replace-host` **命令**将 Tableau Server 指向新的 PostgreSQL 实例。
    
    有关 `tsm topology external-services repository replace-host` 命令的详细信息，请参见[tsm topology](https://help.tableau.com/v0.0/server-linux/zh-cn/cli_topology_tsm.htm)。

## 谁可以执行此操作

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