Amazon RDS - PostgreSQL功能

PostgreSQL是一个功能强大的开源对象关系数据库系统,在可靠性,功能稳健性和性能方面赢得了良好的声誉. AWS RDS运行各种版本的PostgreSQL.它支持时间点还原和备份,创建数据库快照并在多AZ环境中运行.

支持的版本

版本9.3到10.4是RDS平台支持的主要版本.如果在创建数据库期间未提及任何版本,则默认为该时间点的最新版本.下面是如何在python SDK程序中使用AWS API获取所有受支持的数据库引擎版本的示例.

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'": []
      }
   ]
}

数据库预览环境

PostgreSQL社区不断发布新版本和新扩展.您可以在Aws RDS完全支持之前试用新的PostgreSQL版本和扩展.为此,您可以在数据库预览环境中创建新的数据库实例.

数据库预览环境中的数据库实例类似于生产环境中的数据库实例.但是,请记住以下几个重要因素:

  • 所有数据库实例在创建后60天内都会被删除备份和快照.

  • 您只能在基于Amazon VPC服务的虚拟私有云(VPC)中创建数据库实例.

  • 您只能创建M4,T2和R4实例类型.有关RDS实例类的更多信息,

  • 您无法通过数据库实例从AWS Support获得帮助.您可以在RDS数据库预览环境论坛中发布您的问题.

  • 您只能使用通用SSD和预配置IOPS SSD存储.

  • 您无法将数据库实例的快照复制到生产环境.

  • 某些Amazon RDS功能在预览环境中不可用,如下所述.

逻辑复制

逻辑复制是一种复制数据对象的方法他们的更改,基于他们的复制身份(通常是主键).逻辑复制使用发布和订阅模型,其中一个或多个订阅者订阅发布者节点上的一个或多个发布.订阅者从他们订阅的出版物中提取数据,随后可能会重新发布数据以允许级联复制或更复杂的配置.它用于以下操作.

  • 将单个数据库或数据库子集中的增量更改发送给订阅者他们发生了.

  • 将多个数据库合并为一个数据库(例如用于分析目的).

  • 在PostgreSQL的不同主要版本之间复制.

  • 在不同平台上的PostgreSQL实例之间复制(例如Linux到Windows)

  • 允许将复制的数据访问给不同的用户组.

  • 在多个数据库之间共享数据库的子集.

为Amazon RDS for PostgreSQL数据库实例启用逻辑复制

  • AWS用户帐户需要rds_superuser角色才能在Amazon RDS上为PostgreSQL数据库执行逻辑复制.

  • 将rds.logical_replication参数设置为1.

  • 修改入站规则发布者实例(生产)的安全组,以允许订阅者实例(副本)进行连接.这通常通过在安全组中包含订户的IP地址来完成.