AWS Security ChangesHomeSearch

AWS AmazonRDS documentation change

Service: AmazonRDS · 2025-03-30 · Documentation low

File: AmazonRDS/latest/AuroraUserGuide/limitless-query.single-shard.md

Summary

Updated documentation for single-shard optimization to clarify conditions when optimization is rejected (plan_cache_mode='force_generic_plan') and expanded support for UPDATE/DELETE statements

Security assessment

Change describes query optimization behavior adjustments without any security context or vulnerability references

Diff

diff --git a/AmazonRDS/latest/AuroraUserGuide/limitless-query.single-shard.md b/AmazonRDS/latest/AuroraUserGuide/limitless-query.single-shard.md
index b7e6d3164..861a37569 100644
--- a/AmazonRDS/latest/AuroraUserGuide/limitless-query.single-shard.md
+++ b/AmazonRDS/latest/AuroraUserGuide/limitless-query.single-shard.md
@@ -188 +188 @@ If a query contains one or more views, single-shard optimization is disabled for
-Aurora PostgreSQL Limitless Database supports single-shard optimization for prepared `SELECT` statements.
+Aurora PostgreSQL Limitless Database supports single-shard optimization for prepared `SELECT`, `UPDATE`, and `DELETE` statements.
@@ -190,30 +190 @@ Aurora PostgreSQL Limitless Database supports single-shard optimization for prep
-However, if the prepared statement is an `UPDATE` or `DELETE` and contains a prepared variable, the query planner rejects single-shard optimization for that query. This is shown in the following examples: the `Single Shard Optimized` indicator is missing.
-    
-    
-    postgres_limitless=> PREPARE testStmt AS SELECT customer_name
-    FROM customers c WHERE c.customer_id = $1;
-    PREPARE
-    
-    postgres_limitless=> EXECUTE testStmt(1);
-    
-    customer_name
-    ---------------
-    (0 rows)
-    
-    
-    postgres_limitless=> EXPLAIN verbose EXECUTE testStmt(1);
-    
-    QUERY PLAN
-    --------------------------------------------------------------------------
-    Foreign Scan (cost=100.00..101.00 rows=100 width=0)
-    Output: customer_name
-    Remote Plans from Shard postgres_s3:
-    Seq Scan on public.customers_ts00001 c (cost=0.00..24.12 rows=6 width=32)
-    Output: c.customer_name
-    Filter: (c.customer_id = 1)
-    Query Identifier: 1520926022284463170
-    Remote SQL: SELECT customer_name
-    FROM public.customers c
-    WHERE (customer_id = $1)
-    Query Identifier: 1520926022284463170
-    (11 rows)
+However, if you use prepared statements for `PREPARE` and `EXECUTE` with `plan_cache_mode` set to `'force_generic_plan'`, the query planner rejects single-shard optimization for that query.