OffNet Newsroom

Daily topic roundup

Database Technology

Wednesday, September 16, 2026 · 8 stories, curated & summarized — click any story for the source.

This follow-up article details how to use Amazon CloudWatch Database Insights to identify blocking sessions causing row lock contention. It outlines resolution strategies including query termination, timeout adjustments, and architectural patterns like SKIP LOCKED and row splitting to restore throughput.

  • Use CloudWatch Database Insights Lock Tree to pinpoint specific blocking sessions.
  • Resolve immediate contention via query termination or timeout parameter tuning.
  • Implement SKIP LOCKED or row splitting to prevent lock contention at the architectural level.

Percona has released version 8.4.11-11, which includes targeted patches designed to improve overall performance. This update builds upon the broader performance progression observed in the 8.4 series released earlier in 2026. The release focuses on specific optimizations to enhance efficiency for MySQL workloads.

  • Version 8.4.11-11 introduces patches for significant performance gains.
  • Optimizations build on the 8.4 series progression established in 2026.
  • Review prior 8.4 performance analysis for full context on these changes.
  • Consider testing this patch version to validate efficiency improvements.
CHECKLISTAction Plan for 8.4.11-11Review prior 8.4 performance analysisTest patch to validate improvementsNote optimizations for MySQL workloads

PostgreSQL 19 introduces two new contrib modules to stabilize query execution plans when data growth causes the planner to select suboptimal paths. pg_plan_advice allows users to capture a specific plan as a string and enforce it for future executions. pg_stash_advice automates this by storing these plan strings keyed by query ID and applying them automatically.

  • Stabilizes queries that degrade after ANALYZE due to data growth without code changes
  • pg_plan_advice enables manual capture and enforcement of specific execution plans
  • pg_stash_advice automates plan enforcement using query ID keys for seamless operation
  • Both modules are part of the contrib extension and available in PostgreSQL 19 Beta 3
TRADE-OFFPlan Control MethodsManual ControlCapture plan as stringEnforce specific plan manuallyAutomated ControlStore plans by query IDApply plans automaticallyvs

On PostgreSQL 17, a prepared statement can execute quickly for five runs before the query planner changes its strategy, causing a significant performance drop on the sixth execution. This behavior is invisible to single-run diagnostics like a standard EXPLAIN ANALYZE, requiring repeated executions to detect the plan shift. The issue stems from the internal plan cache mechanism and affects various drivers, not just psql.

  • Single EXPLAIN ANALYZE runs mask plan instability that emerges after repeated executions.
  • Prepared statements may trigger a plan cache update that degrades performance on run six.
  • Use multiple repetitions in benchmarks to detect intermittent plan changes.
  • This behavior is specific to PostgreSQL 17 and the plan cache mechanism.
  • A one-line fix exists to mitigate the issue in affected driver configurations.

Agoda migrated its 1.5 TB hotel Price Cache from a complex 72-shard SQL Server architecture to two DragonflyDB clusters. The team executed the migration using staged dual reads, parity validation, and gradual traffic shifting to ensure data consistency. Post-migration, the organization observed an eightfold reduction in P99 read latency while maintaining high availability.

  • Migrating from 72 SQL Server shards to DragonflyDB simplified infrastructure for a 1.5 TB dataset.
  • Staged dual reads and parity validation ensured data integrity during the traffic shift.
  • P99 read latency improved approximately eightfold after the migration.
  • Two DragonflyDB clusters provided the necessary high availability for the price cache.
THE SHIFTAgoda Latency Improvement1.5TBSQL SERVER CACHE99P99 LATENCYEightfold reduction achieved

An InfoQ article demonstrates how PostgreSQL can function as the sole durable state store for workflows, removing the dependency on external orchestration tools. The approach leverages SKIP LOCKED for concurrent processing, primary-key checkpoints for idempotency, and leases for crash recovery. It also shows how to persist long-running states like sleeps and human approvals directly in the database.

  • SKIP LOCKED enables safe concurrent work processing without complex locking logic.
  • Primary-key checkpoints enforce idempotency, preventing duplicate execution on restart.
  • Leases provide crash recovery mechanisms to handle node failures gracefully.
  • Workflow pauses and human approvals can be stored as database rows for durability.

PostgreSQL 19's SQL/PGQ feature is facing criticism due to unresolved bugs that could hinder production readiness. The project team acknowledges these issues, suggesting the current state fails a strict shipping viability test. Meanwhile, the introduction of concurrent REPACK offers a practical alternative for maintenance, potentially reducing the need for disruptive midnight operations for database administrators.

  • SQL/PGQ in PG19 has unresolved bugs; expect caution before adopting for graph workloads.
  • Concurrent REPACK is available, allowing index rebuilds without long-term locking.
  • DBAs can reduce overnight maintenance windows using the new REPACK capabilities.
  • Monitor upstream for bug fixes on SQL/PGQ before planning graph-based migrations.
AWS Database Blog awsdatabase

Aurora PostgreSQL Part 1: Diagnosing Row Lock Contention

AWS Database Blog Part 1 explains how PostgreSQL row locking mechanics can degrade throughput during traffic spikes despite healthy CPU and I/O metrics. The guide details methods to monitor lock contention using system views, the pgrowlocks extension, and the log_lock_waits parameter. This foundational knowledge supports troubleshooting efforts in both Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL environments.

  • Row lock contention can bottleneck throughput even when CPU and I/O remain healthy.
  • Use system views and pgrowlocks extension to identify specific locked rows.
  • Enable log_lock_waits parameter to capture detailed lock wait events.
  • Techniques apply to both Aurora PostgreSQL and standard RDS for PostgreSQL.

Fleet impact: For Aurora PostgreSQL and RDS for PostgreSQL fleets, this blog provides the diagnostic baseline needed to distinguish between resource saturation and locking issues during peak loads. Ensure log_lock_waits is tuned appropriately in your parameter groups to capture sufficient context for future contention analysis.

↑