在维护时段内运行的 Amazon RDS 和 Amazon Redshift 查询会发生什么?

上次更新时间:2020 年 3 月 26 日

我的 Amazon Relational Database Service (Amazon RDS) 或 Amazon Redshift 查询在维护时段内运行。在维护时段内运行的查询会发生什么?

解决方法

Amazon RDS 维护

Amazon RDS 维护时段通常包括数据库实例操作系统 (OS)、数据库引擎版本或集群版本的更新。如果维护需要实例重启或引擎重启,则运行中的查询和事务会终止,且未提交的事务将在引擎重启时回滚,以确保符合原子性、一致性、隔离性和持久性 (ACID)。您必须重新运行终止的查询或事务。默认情况下,MySQL 和 PostgreSQL 均符合 ACID,但它可能会被某些参数配置覆盖。检查您的引擎文档,以确认您没有任何参数会阻止引擎符合 ACID。有关更多信息,请参阅 MySQL 文档了解 InnoDB 和 ACID 模型,及 PostgreSQL 文档了解 synchronous_commit

Amazon Redshift 维护

Amazon Redshift 维护时段需要集群离线或在计划维护期间重启。如果查询在计划维护期间运行,则终止查询并进行回滚。要查看哪些查询被终止,请参阅 SVL_QLOG。最佳实践是围绕维护时段进行计划—尤其是长期运行的操作,如大型数据加载或 VACUUM 操作。有关更多信息,请参阅 Amazon Redshift 最佳实践

注意:如果维护不需要重新数据库引擎、集群或实例,则查询不受影响。