Amazonrds 简明教程
Amazon RDS - PostgreSQL Features
PostgreSQL 是一个功能强大、开源的对象关系数据库系统,因其可靠性、功能强大性和性能而享有盛誉。AWS RDS 运行着 PostgreSQL 的各个版本。它支持即时还原和备份、创建 DB 快照,并在多可用区环境中运行。
Supported Versions
9.3 至 10.4 版本是 RDS 平台支持的主要版本。如果在创建 DB 期间未指定版本,则它将默认为该时间的最新版本。以下是使用 Python SDK 程序中的 AWS API 获取所有受支持的 DB 引擎版本的一个示例。
import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
DBParameterGroupFamily='',
DefaultOnly=True,
Engine='postgres',
EngineVersion='',
ListSupportedCharacterSets=False, #True,
)
print(response)
当我们运行以上程序时,我们得到以下输出:
{
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
"HTTPHeaders": {
"x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
"date": "Fri, 14 Sep 2018 07:31:34 GMT",
"content-length": "995",
"content-type": "text/xml"
}
},
"u'DBEngineVersions'": [
{
"u'Engine'": "postgres",
"u'DBParameterGroupFamily'": "postgres10",
"u'SupportsLogExportsToCloudwatchLogs'": false,
"u'SupportsReadReplica'": true,
"u'DBEngineDescription'": "PostgreSQL",
"u'EngineVersion'": "10.4",
"u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
"u'ValidUpgradeTarget'": []
}
]
}
Database Preview Environment
PostgreSQL 社区持续发布新版本和新扩展。您可以在 Aws RDS 完全支持它们之前尝试使用新版本和扩展。为此,您可以在数据库预览环境中创建一个新的 DB 实例。
数据库预览环境中的 DB 实例与生产环境中的 DB 实例类似。但是,请记住几个重要因素:
-
在创建 DB 实例后 60 天内,将删除所有 DB 实例以及所有备份和快照。
-
您只能在基于 Amazon VPC 服务的虚拟私有云 (VPC) 中创建 DB 实例。
-
您只能创建 M4、T2 和 R4 实例类型。有关 RDS 实例类型的更多信息,
-
AWS 支持无法为 DB 实例提供帮助。您可以在 RDS 数据库预览环境论坛中发布您的问题。
-
您只能使用通用 SSD 和预置 IOPS SSD 存储。
-
您无法将 DB 实例的快照复制到生产环境。
-
某些 Amazon RDS 功能在预览环境中不可用,如下所述。
Logical Replication
逻辑复制是一种复制数据对象及其更改的方法,基于它们的复制标识(通常是主键)。逻辑复制使用发布和订阅模型,其中一个或多个订阅者订阅发布者节点上的一个或多个出版物。订阅者从他们订阅的出版物中提取数据,随后可以重新发布数据以允许级联复制或更复杂配置。它用于以下操作。
-
当发生增量更改时,将这些更改发送到订阅者,包括单个数据库或数据库的一个子集。
-
将多个数据库合并成一个数据库(例如用于分析目的)。
-
在不同主要版本的 PostgreSQL 之间复制。
-
在不同平台(例如 Linux 到 Windows)上的 PostgreSQL 实例之间复制。
-
让不同用户组访问复制后的数据。
-
在多个数据库之间共享数据库的子集。
为 Amazon RDS for PostgreSQL DB 实例启用逻辑复制
-
AWS 用户帐户需要 rds_superuser 角色才能在 Amazon RDS 上对 PostgreSQL 数据库执行逻辑复制。
-
将 rds.logical_replication 参数设置为 1。
-
修改发布者实例(生产)的安全组的入站规则,以允许订阅者实例(副本)连接。这通常通过将订阅者的 IP 地址包括在安全组中来完成。