使用 Amazon Aurora DSQL 的注意事项 - Amazon Aurora DSQL

使用 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 以避免这种行为。

  • 管理员用户创建新架构后,GRANTREVOKE 更改将在连接生命周期(最长一小时)内传播到现有连接。为了立即生效,请在权限更改后建立新的连接。

  • 在罕见的多区域链接集群恢复场景中,自动集群恢复操作可保持高可用性,但您可能会遇到暂时的并发控制或连接错误。在大多数情况下,只有一定百分比的工作负载受到影响。当您遇到这些暂时错误时,请重试事务或重新连接您的客户端。

  • 某些 SQL 客户端(例如 Datagrip)会请求广泛的系统元数据来填充架构信息。Aurora DSQL 为 SQL 查询功能提供核心元数据。与其完整功能集相比,这些客户端中的架构显示所展示的信息可能有限。

  • 为确保查询能够识别新创建的架构和表,请在创建或删除数据库对象后刷新连接。这包括在删除架构后或查询在其它连接中创建的对象时看到 Schema Already Exists 错误的情形。断开连接并重新连接,或者再次运行 SET search_path 以刷新目录缓存。

  • 对于复杂的查询,使用 EXPLAIN ANALYZE VERBOSE 来识别高延迟操作并优化查询计划。涵盖索引可通过启用仅索引扫描而不是全表扫描来显著降低 DPU 成本。有关更多信息,请参阅 使用 Aurora DSQL EXPLAIN 解释计划

  • 连接限制在集群级别进行管理。请参阅集群配额来请求配额更新。