OffNet Newsroom

Daily topic roundup

Database Technology

Friday, September 04, 2026 · 7 stories, curated & summarized — click any story for the source.

Amazon Aurora MySQL-Compatible Edition 8.4.8 is now generally available, bringing security enhancements and new replication capabilities. Key features include post-quantum TLS for data in-transit encryption, configurable transaction timeouts to mitigate InnoDB purge blocking, and multi-source replication for shard consolidation. The release also introduces delayed replication to protect against accidental data loss.

  • Post-quantum TLS (PQ-TLS) key exchange is now supported for enhanced in-transit security.
  • Transaction timeout feature helps prevent long-running transactions from blocking InnoDB purge operations.
  • Multi-source replication enables merging shards and consolidating data into a single replica.
  • Configurable delayed replication provides protection against accidental data deletion or corruption.
  • Compatible with MySQL 8.4.8, including various security fixes and bug patches.

Fleet impact: Aurora MySQL 8.4.8 introduces multi-source replication, a critical feature for DBAs managing sharded architectures who need to consolidate data for reporting or backups without complex custom logic. The new transaction timeout setting offers a direct mechanism to mitigate InnoDB purge contention caused by long-running transactions, improving stability for high-concurrency workloads.

CHECKLISTAurora 8.4.8 Key FeaturesEnable post-quantum TLS for in-transit securitySet transaction timeouts to prevent purge blockingUse multi-source replication for shard consolidationApply delayed replication for data protection

Amazon Aurora MySQL now allows a single cluster to replicate from multiple source databases simultaneously, simplifying data consolidation from sharded or regional instances. It also introduces delayed replication, enabling binlog replicas to intentionally lag behind their source by a configured duration. This lag acts as a safeguard against human error and logical corruption by providing a time-window to recover from mistakes.

  • Consolidate shards or departmental MySQL databases into a central Aurora cluster for reporting.
  • Use delayed replication to protect against logical errors with a configurable time buffer.
  • Simplify backup and operational workflows by aggregating data from multiple sources.

Fleet impact: For Aurora MySQL fleets, multi-source replication eliminates the need for complex ETL pipelines when merging sharded or regional databases. Delayed replication provides a native, low-effort safety net against accidental data modification, reducing RTO for logical corruption incidents.

CHECKLISTAurora MySQL Best PracticesConsolidate sharded databases into a central clusterEnable delayed replication to buffer human errorsSimplify operational workflows by aggregating data sources

Misconfiguring the AWS Advanced JDBC Wrapper for Aurora Global Database write forwarding leads to latency spikes and connection failures due to Region-specific requirements. The guidance details correct dialects, plugins, host patterns, and write forwarding settings for both primary and secondary Regions. Proper configuration is essential to ensure seamless write operations across the global cluster.

  • Use region-specific settings to prevent latency spikes and connection failures.
  • Configure correct dialects and plugins for the AWS Advanced JDBC Wrapper.
  • Set appropriate host patterns for primary and secondary Regions.
  • Validate write forwarding settings to ensure global cluster consistency.

Fleet impact: For Aurora Global Database fleets, ensure the JDBC Wrapper is configured with region-specific host patterns and write forwarding settings to avoid latency spikes. Verify dialect and plugin configurations match the primary and secondary Regions to maintain connectivity.

PostgreSQL 19 will enable log_lock_waits by default, addressing a gap in visibility for lock contention that has persisted in previous versions. This setting, available since early releases, tracks backends sleeping on heavyweight locks like rows or relations. The change shifts the burden of configuration from the operator to the database engine, ensuring critical performance diagnostics are active out of the box.

  • PostgreSQL 19 flips log_lock_waits on by default for immediate visibility.
  • Previous versions require manual configuration to detect lock wait events.
  • Enabling this exposes heavyweight lock sleeps without significant overhead.
  • Review logs to identify bottlenecks in row, relation, or transaction ID locks.
  • No migration steps needed; behavior is automatic in the new release.
Planet PostgreSQL database

PostgreSQL Join Collapse Limit Causes 1500x Plan Regression

A single additional JOIN in a multi-table query can trigger a drastic performance drop in PostgreSQL due to the default join_collapse_limit of 8. This threshold forces the planner to switch from efficient nested loops to expensive hash joins when the query exceeds seven joined relations. Unlike SQL Server or MySQL, PostgreSQL hits this cliff abruptly, turning sub-millisecond queries into hundreds of milliseconds.

  • Default join_collapse_limit=8 caps optimizer complexity, causing sudden plan degradation past 7 joins.
  • Adding one table to an existing 7-join query can increase latency from 0.3ms to 467ms.
  • Increase join_collapse_limit to allow the optimizer to explore more join orderings.
  • Monitor query plans for sudden hash join introductions in complex billing or reporting queries.
  • PostgreSQL behaves differently than SQL Server and MySQL regarding join collapse thresholds.

PostgreSQL documentation recommends the numeric type for monetary data requiring exact precision but warns that calculations are significantly slower than integer or floating-point alternatives. Developer Andrei Lepikhov questions this trade-off, suggesting that storing amounts as integers (e.g., cents) could reduce server resource consumption. The post explores whether shifting away from numeric types offers a viable optimization path for high-volume transactional workloads.

  • Numeric type ensures exact precision for monetary values but incurs high CPU overhead.
  • Integer storage (e.g., cents) offers a potential performance optimization for financial data.
  • Documentation highlights a direct conflict between precision requirements and calculation speed.
  • Consider integer-based storage strategies to reduce database server resource usage.
TRADE-OFFNumeric vs Integer StorageNumeric TypeExact decimal precisionHigh CPU overheadSlower calculationsInteger StorageStores cents directlyLower resource usageFaster performancevs
Planet PostgreSQL database

Jimmy Angelakos on Inheriting Bad PostgreSQL Databases

Jimmy Angelakos released a recording of a LinkedIn Live session focused on managing inherited PostgreSQL environments that suffer from poor design and history. Based on Chapter 11 of his book, the discussion covers common root causes like rushed deadlines and lack of initial DBA oversight. The session adopts a fireside chat format rather than a deep technical presentation, addressing the widespread nature of these legacy issues.

  • Inherited database debt stems from historical factors like rushed deadlines and missing DBA oversight.
  • The full recording, slides, and Q&A are now available for review.
  • This content is derived from Chapter 11 of "PostgreSQL Mistakes and How to Avoid Them".
  • The approach is conversational, focusing on the reality of managing legacy data systems.
  • Architect disease is identified as a contributing factor to poor initial database structures.
↑