使用 Amazon Aurora DSQL 的注意事项
使用 Amazon Aurora DSQL 时请考虑以下行为。有关 PostgreSQL 兼容性和支持的更多信息,请参阅 Aurora DSQL 中的 SQL 功能兼容性。有关配额和限制,请参阅 Amazon Aurora DSQL 中的集群配额和数据库限制。
-
运行
DROP TABLE命令后,存储限制计算可能需要一些时间才能反映已释放的存储空间。如果您需要额外的存储容量,请参阅集群配额以请求配额更新。 -
对于 Aurora DSQL 中的大型表,请使用系统目录而不是
COUNT(*)操作来检索表行计数。有关更多信息,请参阅使用 Aurora DSQL 中的系统表和命令。 -
Aurora DSQL 通过架构级别的授权来管理权限。管理员用户使用
CREATE SCHEMA创建架构,并使用GRANT USAGE ON SCHEMA向其它角色授予访问权限。管理员用户管理公有架构中的对象,而非管理员用户则在用户创建的架构中创建对象。管理员角色可以向自己授予任何其它角色,来获得对用户创建的对象的权限。有关更多信息,请参阅 授权数据库角色在数据库中使用 SQL。 -
当驱动程序调用
PG_PREPARED_STATEMENTS时,Aurora DSQL 提供缓存的预准备语句的集群范围视图。对于同一个集群和 IAM 角色,您看到的每个连接的预准备语句数量可能会超过预期。Aurora DSQL 在准备过程中动态管理语句名称。 -
从仅限 IPv4 的实例进行连接时,请确保客户端已配置为进行 IPv4 连接。某些 PostgreSQL 客户端在双堆栈模式下,会同时尝试进行 IPv4 和 IPv6 连接。如果 IPv4 连接遇到节流,则客户端可能会尝试 IPv6,并在仅限 IPv4 的主机上返回
NetworkUnreachable错误。将您的客户端配置为显式使用 IPv4 以避免这种行为。 -
管理员用户创建新架构后,
GRANT和REVOKE更改将在连接生命周期(最长一小时)内传播到现有连接。为了立即生效,请在权限更改后建立新的连接。 -
在罕见的多区域链接集群恢复场景中,自动集群恢复操作可保持高可用性,但您可能会遇到暂时的并发控制或连接错误。在大多数情况下,只有一定百分比的工作负载受到影响。当您遇到这些暂时错误时,请重试事务或重新连接您的客户端。
-
某些 SQL 客户端(例如 Datagrip)会请求广泛的系统元数据来填充架构信息。Aurora DSQL 为 SQL 查询功能提供核心元数据。与其完整功能集相比,这些客户端中的架构显示所展示的信息可能有限。
-
为确保查询能够识别新创建的架构和表,请在创建或删除数据库对象后刷新连接。这包括在删除架构后或查询在其它连接中创建的对象时看到
Schema Already Exists错误的情形。断开连接并重新连接,或者再次运行SET search_path以刷新目录缓存。 -
对于复杂的查询,使用
EXPLAIN ANALYZE VERBOSE来识别高延迟操作并优化查询计划。涵盖索引可通过启用仅索引扫描而不是全表扫描来显著降低 DPU 成本。有关更多信息,请参阅 使用 Aurora DSQL EXPLAIN 解释计划。 -
连接限制在集群级别进行管理。请参阅集群配额来请求配额更新。