

# 升级 PostgreSQL 数据库快照引擎版本
<a name="USER_UpgradeDBSnapshot.PostgreSQL"></a>

借助 Amazon RDS，您可以为 PostgreSQL 数据库实例创建存储卷数据库快照。数据库快照是根据您的 Amazon RDS 实例使用的引擎版本创建的。您可以升级数据库快照的引擎版本。

将升级到新引擎版本的数据库快照还原后，请确保测试升级是否成功。有关主要版本升级的更多信息，请参阅[升级 RDS for PostgreSQL 数据库引擎](USER_UpgradeDBInstance.PostgreSQL.md)。要了解如何还原数据库快照，请参阅 [还原到数据库实例](USER_RestoreFromSnapshot.md)。

您可以升级已加密或未加密的手动数据库快照。

要查看 RDS for PostgreSQL 数据库快照的可用引擎版本，请使用以下 AWS CLI 示例。

```
aws rds describe-db-engine-versions --engine postgres  --engine-version example-engine-version --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text --include-all
```

有关 RDS for PostgreSQL 数据库快照的可用引擎版本的更多信息，请参阅[为 RDS for PostgreSQL 升级选择主要版本](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md)。

**注意**  
您不能升级在自动备份过程中创建的自动数据库快照。

## 控制台
<a name="USER_UpgradeDBSnapshot.PostgreSQL.Console"></a>

**升级数据库快照**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**快照**。

1. 选择要升级的快照。

1. 对于 **Actions (操作)**，选择 **Upgrade snapshot (升级快照)**。此时会显示 **Upgrade snapshot (升级快照)** 页面。

1. 选择要升级到的 **New engine version (新引擎版本)**。

1. 选择 **Save changes (保存更改)** 以升级快照。

   在升级过程中，将为此数据库快照禁用所有快照操作。此外，数据库快照状态由 **available** 变为 **upgrading**，完成后变为 **active**。如果由于快照损坏导致数据库快照不能升级，状态将变为 **unavailable**。此状态的快照无法恢复。
**注意**  
如果数据库快照升级失败，则快照将回滚到具有原始版本的原始状态。

## AWS CLI
<a name="USER_UpgradeDBSnapshot.PostgreSQL.CLI"></a>

要将数据库快照升级到新的数据库引擎版本，请使用 AWS CLI [modify-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html) 命令。

**参数**
+ `--db-snapshot-identifier` – 要升级的数据库快照的标识符。标识符必须是唯一的 Amazon 资源名称 (ARN)。有关更多信息，请参阅“[Amazon RDS 中的 Amazon 资源名称（ARN）](USER_Tagging.ARN.md)”。
+ `--engine-version` – 升级后的数据库快照的引擎版本。

**Example**  
对于 Linux、macOS 或 Unix：  

```
1. aws rds modify-db-snapshot \
2.     --db-snapshot-identifier my_db_snapshot \
3.     --engine-version new_version
```
对于：Windows  

```
1. aws rds modify-db-snapshot ^
2.     --db-snapshot-identifier my_db_snapshot ^
3.     --engine-version new_version
```

## RDS API
<a name="USER_UpgradeDBSnapshot.PostgreSQL.API"></a>

要将数据库快照升级到新的数据库引擎版本，请调用 Amazon RDS API [ ModifyDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshot.html) 操作。
+ `DBSnapshotIdentifier` – 要升级的数据库快照的标识符。标识符必须是唯一的 Amazon 资源名称 (ARN)。有关更多信息，请参阅“[Amazon RDS 中的 Amazon 资源名称（ARN）](USER_Tagging.ARN.md)”。
+ `EngineVersion` – 升级后的数据库快照的引擎版本。