

# 使用 Amazon Aurora DSQL 的注意事项
<a name="considerations"></a>

使用 Amazon Aurora DSQL 时请考虑以下行为。有关 PostgreSQL 兼容性和支持的更多信息，请参阅 [Aurora DSQL 中的 SQL 功能兼容性](working-with-postgresql-compatibility.md)。有关配额和限制，请参阅 [Amazon Aurora DSQL 中的集群配额和数据库限制](CHAP_quotas.md)。
+ 运行 `DROP TABLE` 命令后，存储限制计算可能需要一些时间才能反映已释放的存储空间。如果您需要额外的存储容量，请参阅[集群配额](CHAP_quotas.md#SECTION_cluster-quotas)以请求配额更新。
+ 对于 Aurora DSQL 中的大型表，请使用系统目录而不是 `COUNT(*)` 操作来检索表行计数。有关更多信息，请参阅[使用 Aurora DSQL 中的系统表和命令](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/working-with-systems-tables.html)。
+ Aurora DSQL 通过架构级别的授权来管理权限。管理员用户使用 `CREATE SCHEMA` 创建架构，并使用 `GRANT USAGE ON SCHEMA` 向其它角色授予访问权限。管理员用户管理公有架构中的对象，而非管理员用户则在用户创建的架构中创建对象。管理员角色可以向自己授予任何其它角色，来获得对用户创建的对象的权限。有关更多信息，请参阅 [授权数据库角色在数据库中使用 SQL](using-database-and-iam-roles.md#using-database-and-iam-roles-custom-database-roles-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 解释计划](working-with-explain-plans.md)。
+ 连接限制在集群级别进行管理。请参阅[集群配额](CHAP_quotas.md#SECTION_cluster-quotas)来请求配额更新。