

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

# 使用 PostgreSQL 数据库作为 DMS 架构转换的目标
<a name="data-providers-postgresql"></a>

您可以使用 PostgreSQL 数据库作为 DMS 架构转换的迁移目标。

有关支持的目标数据库的信息，请参阅 [DMS 架构转换的目标数据提供程序](CHAP_Introduction.Targets.md#CHAP_Introduction.Targets.SchemaConversion)。

## 将 PostgreSQL 作为目标所需的权限
<a name="data-providers-postgresql-permissions"></a>

要使用 PostgreSQL 作为目标，DMS 架构转换需要以下最低权限。在连接之前，目标数据库必须存在。对于要在迁移项目中使用的每个数据库，请向用于迁移的用户帐户授予以下权限：

```
GRANT CONNECT ON DATABASE <db_name> TO <user>;
GRANT CREATE ON DATABASE <db_name> TO <user>;
```

要使用 Amazon RDS for PostgreSQL 作为目标，DMS 架构转换需要 `rds_superuser` 角色。

要使用转换后的公共同义词，请使用以下命令更改数据库的默认搜索路径。

```
ALTER DATABASE <db_name> SET SEARCH_PATH = "$user", public_synonyms, public;
```

在本例中，将 `<db_name>` 占位符替换为数据库的名称。

在 PostgreSQL 中，只有架构所有者或 `superuser` 才能删除架构。架构的所有者可以删除架构及其包含的所有对象，即使该所有者并不拥有架构的某些对象。

如果使用不同的用户将不同架构转换并应用到目标数据库，那么当 DMS 架构转换无法删除架构时，您可能会收到错误消息。为避免此类错误消息，请使用 `superuser` 角色。