

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 常见问题解答
<a name="faq"></a>

本节提供了有关在多租户 SaaS 应用程序中实现托管 PostgreSQL 的常见问题的答案。

## PostgreSQL 托管选项有哪些？ AWS
<a name="q1"></a>

AWS 提供[兼容亚马逊 Aurora PostgreSQL 和适用于](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) PostgreSQL 的[亚马逊关系数据库服务（亚马逊 RDS）](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)。 AWS 还拥有[广泛的托管数据库产品目录](https://aws.amazon.com/products/databases/)。

## 哪种服务最适合 SaaS 应用程序？
<a name="q2"></a>

你可以将兼容 Aurora PostgreSQL 和 Amazon RDS for PostgreSQL 用于 SaaS 应用程序以及本指南中讨论的所有 SaaS 分区模型。这两种服务在可扩展性、崩溃恢复、故障转移、存储选项、高可用性、灾难恢复、备份以及每个选项可用的实例类别方面存在差异。最佳选择将取决于您的具体用例。使用本指南中的[决策矩阵](matrix.md)为您的用例选择最佳选项。

## 如果我决定将 PostgreSQL 数据库与多租户 SaaS 应用程序一起使用，我应该考虑哪些特殊要求？
<a name="q3"></a>

与 SaaS 应用程序中使用的任何数据存储一样，最重要的考虑因素是维护租户数据隔离的方法。如本指南中所述，您可以通过多种方式使用 AWS 托管 PostgreSQL 产品实现租户数据隔离。此外，对于任何 PostgreSQL 实现，您都应考虑在每个租户的基础上进行性能隔离。

## 我可以使用哪些模型通过 PostgreSQL 维护租户数据隔离？
<a name="q4"></a>

您可以使用孤岛、桥接和池模型作为 SaaS 分区策略来维护租户数据隔离。有关这些模型以及如何将其应用于 PostgreSQL 的讨论，请参阅本指南中的 PostgreSQL [多租户 SaaS 分区模型](partitioning-models.md)部分。

## 如何使用在多个租户之间共享的单个 PostgreSQL 数据库来维护租户数据隔离？
<a name="q5"></a>

PostgreSQL 支持行级安全 (RLS) 功能，您可以使用该功能在单个 PostgreSQL 数据库或实例中强制执行租户数据隔离。此外，您可以在单个实例中为每个租户配置单独的 PostgreSQL 数据库，或者为每个租户创建架构以实现此目标。有关这些方法的优缺点，请参阅本[指南中的行级安全建议](rls.md)部分。