云服务器内容精选

  • 响应示例 实例在滚动升级中时,只返回滚动升级目标版本与滚动升级分片和AZ状态。 { "upgrade_type_list" : [ { "upgrade_type" : "inplace", "enable" : true, "upgrade_action_list" : [ { "upgrade_action" : "upgradeAutoCommit", "enable" : true } ] }, { "upgrade_type" : "grey", "enable" : false } ], "rollback_enabled" : true, "target_version" : "3.200.0", "roll_upgrade_progress" : { "upgraded_dn_group_numbers" : null, "total_dn_group_numbers" : null, "not_fully_upgraded_az" : "cn-southwest-244c", "already_upgraded_az" : "cn-southwest-244b,cn-southwest-244a", "az_description_map" : { "az1.dc1" : "可用区1", "az0.dc0" : "az1" } }, "upgrade_candidate_versions" : [ ], "hotfix_upgrade_candidate_versions" : [ ], "hotfix_rollback_candidate_versions" : [ ] }
  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/db-upgrade/candidate-versions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID,严格匹配UUID规则。
  • 约束限制 如需使用大版本升级功能,请联系客服申请。 以下版本的实例支持进行大版本升级: 对于PostgreSQL 9.5版本,小版本为9.5.25及以上。 对于PostgreSQL 9.6版本,小版本为9.6.24及以上。 对于PostgreSQL 10版本,小版本为10.21及以上。 对于PostgreSQL 12版本,小版本为12.7及以上。 对于PostgreSQL 13版本,小版本为13.3及以上。 对于PostgreSQL 14版本,小版本为14.4及以上。 对于PostgreSQL 11版本和增强版,不支持大版本升级。 由于操作系统限制,部分实例暂不支持进行大版本升级,具体可升级版本查看界面可升级列表。 大版本升级前,需要先进行升级检查,如果在有效期内没有检查成功的报告,则不允许进行大版本升级。
  • 注意事项 大版本升级完成后,无法回退。进行大版本升级之前,请先进行充分测试,谨慎选择。 大版本升级完成后,会新建一个实例,原有实例依然保留并计费,在业务稳定后您可以选择释放原有实例。 只读实例无法进行大版本升级。若当前实例存在只读实例、灾备实例,大版本升级完成后,只读实例、灾备实例不会同步升级,需要重新创建,请参见创建只读实例。 大版本升级会有以下影响: 使用割接方式升级,升级过程中,原实例会设置为只读,并造成业务分钟级闪断,请在业务低峰期进行升级。使用不割接方式升级时,没有任何影响。 只读设置通过参数“default_transaction_read_only”控制,请检查业务中是否存在修改参数“default_transaction_read_only”的情况,如果存在,则会导致在割接期间实例插入的数据在升级完成后丢失。 大版本升级完成后,参数有以下变化: 原实例中修改的参数,自动同步修改到新版本。 如果原实例使用了新版本不支持的参数,新版本会自动删除。 如果原实例中参数取值不在新版本对应参数的合法区间,新版本中使用参数模板默认值。 大版本升级不会升级插件版本,参考支持的插件列表,若新版本支持更高版本的插件,您可使用命令ALTER EXTENSION extension_name UPDATE TO 'new_version';更新插件,或者卸载并重新安装最新版本插件。 当数据库进行大版本升级时,部分已安装的插件会导致升级任务失败,请先卸载相关插件后再进行大版本升级。 不支持大版本升级的插件包括:postgis
  • 操作场景 RDS for PostgreSQL支持通过界面升级引擎大版本,目前支持以下两种升级方式: 不割接模式:用于新版本业务兼容性测试。大版本升级可能导致业务兼容性问题,强烈建议业务进行充分兼容性测试,测试通过后,再进行割接模式升级。使用不割接模式升级,不会影响原实例。 割接模式:割接升级过程中,原实例会设置为只读,并存在业务分钟级闪断。升级完成后,会自动交换实例VIP,业务无需更改,即可完成升级。
  • RDS for MySQL是否支持版本升级 通过DRS升级大版本 您可以使用数据复制服务(Data Replication Service,简称DRS)将云数据库 RDS for MySQL 5.6版本迁移到MySQL 5.7版本,实现在线升级迁移,平滑完成数据库的迁移工作。使用该方式进行大版本升级,需要提前准备好待迁移到的高版本数据库实例。 您可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“迁移数据库”,进入数据复制服务信息页面。 具体迁移操作,请参见《数据复制服务用户指南》的“入云迁移”内容。 表1 MySQL数据库版本信息 源数据库版本 目标数据库版本 迁移类型 RDS for MySQL/自建MySQL/其他云MySQL 5.5.x 5.6.x 5.7.x 8.0.x RDS for MySQL 5.6.x 5.7.x 8.0.x MySQL数据库版本升级 DRS仅支持从低版本迁移到高版本。迁移到高版本后建议在新实例上执行optimize table优化表空间。 使用DRS迁移MySQL实例时,如果对实例进行规格变更,会导致实例有2次闪断,规格变更之后请检查DRS任务。 小版本升级。 云数据库 RDS for MySQL支持自动或手动升级内核小版本,内核小版本的升级涉及性能提升、新功能或问题修复等。 升级主备实例时,升级顺序依次是备实例、主实例。 内核小版本功能详情请参见华为云RDS for MySQL内核版本说明。 具体升级操作,请参见“升级内核小版本”内容。 父主题: 版本升级
  • 操作步骤 以下操作均在已准备的弹性云服务器上执行。 使用psql连接源数据库,执行以下sql,获取数据库列表。 postgres=# \l 使用psql连接目标数据库,执行以下sql,确认1中的所有数据库在目标数据库中是否均存在。 postgres=# \l 存在,执行3。 不存在,执行以下sql创建缺失的数据库,然后执行3。 postgres=# create database my_target_db; 模板库template0、template1不需要迁移。 默认创建的数据库postgres,一般不会存放业务数据,也不需要迁移。但是如果存放了业务数据,也需要迁移。 使用pg_dump转储源数据库,并使用pg_restore恢复到目标数据库。针对每一个业务库,重复执行3~4。 对于除RDS for PostgreSQL 11外的其他版本,转储命令如下: pg_dump -Fc -v --host=source_IP --port=source_port --username=my_user --dbname=my_source_db | pg_restore -v --no-owner --host=target_IP --port=target_port --username=my_user --dbname=my_target_db 对于RDS for PostgreSQL 11版本,转储命令如下: pg_dump -Fc -v --host=source_IP --port=source_port -Ndbms_lob -Ndbms_output -Ndbms_random -Nsys -Nutl_raw -Npg_catalog --username=my_user --dbname=my_source_db | pg_restore -v --no-owner --host=target_IP --port=target_port --username=my_user --dbname=my_target_db pg_dump所使用的登录用户需要拥有访问该数据库所有对象的权限。 pg_restore所使用的登录用户需要拥有该数据库的所有操作权限。 授权操作请参考grant。 若pg_dump命令使用-N参数,blob对象不会被导出。 若pg_dump命令使用-Fc参数,则导出的文件格式为二进制格式,如果需要导出sql类型的文件请使用-Fp参数。 每迁移完一个数据库,就可以通过目标数据库测试相应业务,保证业务在目标数据库中运行正常。 请务必确保验证业务可以在目标库正常运行后,再将业务切换到目标数据库,然后删除源数据库。
  • RDS for PostgreSQL版本号说明 RDS for PostgreSQL v10及其以上版本的版本号由major.minor组成。其中,major表示大版本号,minor表示小版本号。大版本升级是指major部分增加,比如:11.x升级到12.x。 RDS for PostgreSQL v10之前的版本号由major.major.minor组成。其中,major.major表示大版本号,minor表示小版本号。大版本升级是指如major.major部分增加,比如:从9.5.x升级到9.6.x或者从9.x.x升级到10.x。
  • 准备工作 查看待升级的云数据库 RDS for PostgreSQL实例信息。 在“实例管理”页面,单击待升级实例名称,进入待升级实例基本信息页面。 在“基本信息”页面中,可以查看到实例所属区域、可用区、虚拟私有云、子网、安全组。 准备弹性云服务器。 通过弹性云服务器连接云数据库RDS实例,需要创建一台弹性云服务器。 该弹性云服务器的区域、可用区、虚拟私有云、子网、安全组与待升级RDS for PostgreSQL实例相同。 在2中的弹性云服务器上,安装PostgreSQL客户端。 请参见如何安装PostgreSQL客户端。 该弹性云服务器需要安装和RDS for PostgreSQL数据库服务端相同版本的数据库客户端,PostgreSQL数据库或客户端会自带pg_dump、pg_restore和psql工具。 通过psql连接源数据库,在每一个数据库上执行如下sql,获取已使用列表。 select extname from pg_extension; 根据查看的已使用列表,选择一个包含当前所有插件的目标升级版本。 RDS for PostgreSQL各版本支持的插件,参考支持的插件列表。 参考创建参数模板,创建一个兼容待升级实例参数的目标版本参数模板。 创建目标版本RDS for PostgreSQL实例。 创建RDS for PostgreSQL实例,请参见购买实例。 目标版本RDS for PostgreSQL实例所属区域、可用区、虚拟私有云、子网、安全组与源实例相同。 在2中的弹性云服务器上,通过psql连接目标数据库,确认目标实例连接正常。
  • 操作场景 升级RDS for PostgreSQL引擎大版本,能让您享受到RDS for PostgreSQL新版本带来的功能、性能、安全的提升。但大版本升级可能存在向后不兼容的数据变更,可能导致现有业务运行不兼容。因此需要用户使用目标版本测试确保业务能够正常运行后,再执行大版本升级。 本章节中“源数据库”表示待升级的低版本RDS for PostgreSQL数据库,“目标数据库”表示待升级到的高版本RDS for PostgreSQL数据库。
  • 响应消息 正常响应要素说明 表2 参数说明 名称 参数类型 说明 total_count Integer 总记录数。 upgrade_reports Array of objects 升级报告信息。 详情请参见表3。 表3 upgrade_report字段数据结构说明 名称 参数类型 说明 id String 升级报告ID。 start_time String 升级开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 end_time String 升级结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 src_instance_id String 原实例ID。 src_database_version String 原数据库版本。 dst_instance_id String 目标实例ID。 dst_database_version String 目标数据库版本。 result String 升级结果。 success:表示成功。 failed:表示失败。 running:表示升级中。 is_private_ip_changed Boolean 是否将实例内网IP切换到目标大版本实例。 true:表示切换。 false:表示不切换。 private_ip_change_time String 实例内网IP修改时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 statistics_collection_mode String 统计信息收集模式。 before_change_private_ip:修改实例内网IP前收集。 after_change_private_ip:修改实例内网IP后收集。 detail String 升级报告详情。 正常响应样例 { "total_count": 1, "upgrade_reports": [ { "id": "1a8fda5a-17a6-ebc4-bf1f-97ae837f432b", "start_time": "2023-03-06T02:45:49+0800", "end_time": "2023-03-06T02:50:49+0800", "src_instance_id": "dccacebb7b884ee18bc5c02c918ef2b0in03", "src_database_version": "13.9", "dst_instance_id": "6b5750504be1403191c4f00e4ffaee5ein03", "dst_database_version": "14.6", "result": "success", "is_private_ip_changed": true, "private_ip_change_time": "2023-03-06T03:10:49+0800", "statistics_collection_mode": "before_change_private_ip", "detail": "2023-03-06 18:33:26 --- pg_upgrade upgrade task begin" } ] } 异常响应 请参见异常请求结果。
  • URI URI格式 GET /v3/{project_id}/instances/{instance_id}/major-version/upgrade-histories?offset={offset}&limit={limit}&order={order}&sort_field={sort_field} 参数说明 表1 参数说明 名称 参数类型 是否必选 说明 project_id String 是 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id String 是 实例ID。 offset Integer 否 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit Integer 否 查询记录数。默认为10,不能为负数,最小值为1,最大值为100。 order String 否 排序方式。 DESC:降序。 ASC:升序。 默认为降序。 sort_field String 否 排序字段。 start_time:开始时间。 end_time:结束时间。 默认为开始时间。
  • 请求消息 请求参数 名称 参数类型 是否必选 说明 target_version String 是 目标版本。 高于实例当前的大版本,如当前为12,目标版本需要是13或14。 is_change_private_ip Boolean 是 是否将实例内网IP切换到目标大版本实例。 true:升级后切换当前实例的内网IP到目标大版本实例。 false:升级后当前实例的内网IP不变,目标大版本实例使用新的内网IP。 statistics_collection_mode String 否 统计信息收集方式。“is_change_private_ip”为“true”时必选。 before_change_private_ip:将实例内网IP切换到目标大版本实例前收集。 after_change_private_ip:将实例内网IP切换到目标大版本实例后收集。 请求参数样例 https://{Endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/3aa441c4c98a4b36b100a7e3e87d17cein03/major-version/upgrade { "target_version": "14.6.1", "is_change_private_ip": true, "statistics_collection_mode": "before_change_private_ip" }
  • RDS for PostgreSQL是否支持跨大版本升级 RDS for PostgreSQL支持跨大版本升级。 您可以使用数据复制服务(Data Replication Service,简称DRS)将本地数据库迁移到RDS for PostgreSQL,平滑完成数据库的迁移工作。使用该方式进行大版本升级,需要提前准备好待迁移到的高版本数据库实例。 您可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“迁移数据库”,进入数据复制服务信息页面。 具体迁移操作,请参见《数据复制服务用户指南》的“实时同步”内容。 父主题: 版本升级