In a significant move to streamline data architecture and reduce operational friction, Amazon Web Services (AWS) has announced a major new capability for Amazon Aurora PostgreSQL. This update allows users to directly query operational data alongside vast datasets stored in data lakes—specifically those formatted in Apache Iceberg and Apache Parquet—without the need for cumbersome extract, transform, and load (ETL) pipelines. By embedding the high-performance analytical engine DuckDB directly into the Aurora PostgreSQL environment, AWS is effectively bridging the gap between transactional databases and analytical data storage.
This development addresses a long-standing challenge for organizations attempting to maintain a unified view of their business data. Traditionally, if an enterprise needed to combine real-time transactional records stored in an Aurora database with years of historical context archived in Amazon S3, they were forced to construct "reverse ETL" pipelines. These pipelines, while necessary, introduced significant complexity, infrastructure costs, and engineering overhead, as teams had to ensure data remained synchronized across different environments. Furthermore, as organizations increasingly integrate artificial intelligence (AI) agents into their workflows, the limitations of these rigid pipelines become more apparent; predicting every dataset an AI agent might need in advance is often impossible, making the ability to query diverse data sources on the fly a critical requirement.
The DuckDB Advantage
The integration of DuckDB into Amazon Aurora is a testament to the ongoing evolution of AWS services and the strategic acquisition of the DuckLabs team, which maintains the popular open-source analytical database project. DuckDB is renowned for its speed and efficiency in analytical query processing. By embedding this engine directly within the Aurora PostgreSQL instance, AWS has eliminated the need for data to leave the database environment to be processed. Queries are executed locally, avoiding additional network hops and the storage duplication that accompanies traditional data movement strategies.
This architectural shift means that developers can now use the PostgreSQL syntax they are already familiar with to query Apache Iceberg tables managed through the AWS Glue Data Catalog, as well as raw Parquet files residing in Amazon S3 or S3 Tables. Because the processing remains within Aurora, the system can handle complex joins between live, uncommitted operational writes and archived historical data in a single, cohesive query. This capability is expected to be a game-changer for businesses building real-time dashboards, financial reporting systems, and AI-driven applications that require both immediate transaction context and deep historical trend analysis.

Simplified Architecture and Federated Access
Beyond the performance benefits, the new feature simplifies the management of data catalogs. Aurora PostgreSQL now supports querying data across external Iceberg REST Catalog (IRC)-compatible catalogs through integration with the AWS Glue Data Catalog. By registering an external catalog once with Glue, users can create foreign tables that point to the desired data. This creates a unified interface where a single SQL query can join data from Aurora with Iceberg tables spread across multiple catalogs. This approach preserves existing catalog investments while providing a seamless analytical experience, eliminating the need to migrate data or overhaul existing storage strategies.
Efficiency is further enhanced through built-in query optimizations. Aurora automatically applies predicate pushdown and column pruning, ensuring that the database engine only reads the specific data required for a given query rather than scanning entire datasets. This keeps performance high even as the underlying data lakes grow in size. Additionally, the system caches frequently accessed data within the Aurora instance, leading to significantly faster response times for recurring queries. Users can monitor this performance via the aurora_analytics_stat_statements() function, which provides granular metrics on rows scanned, bytes retrieved from Amazon S3, and the effectiveness of the local cache.
Implementation and Workflow
The new capability is available for Aurora PostgreSQL major versions 17 (starting with 17.11) and 18 (starting with 18.6). To begin using the feature, administrators must first ensure their Aurora cluster is configured with the necessary AWS Identity and Access Management (IAM) permissions, specifically an IAM role that includes the AuroraAnalytics feature. This role grants the database the required access to read from Amazon S3 and the AWS Glue Data Catalog.
Once the permissions are in place, the process of enabling the capability is straightforward: users simply enable the aurora_analytics extension. From there, they can define foreign tables that point to the data lake storage. One of the most user-friendly aspects of this implementation is the ability to leverage schema inference. When defining a foreign table for a Parquet file, users do not need to manually map every column. Aurora reads the metadata directly from the Parquet file to determine the schema. For larger deployments involving numerous tables, the IMPORT FOREIGN SCHEMA command allows for bulk creation, automatically discovering and mapping all Iceberg or Parquet tables registered within a specific AWS Glue Data Catalog database.

For developers, this means the barrier to entry is exceptionally low. A typical workflow might involve joining a recent_transactions table stored locally in Aurora with a transaction_history foreign table mapped to an S3 bucket. A standard UNION ALL query, combined with standard SQL filtering and limits, allows for a unified view of the customer’s journey, spanning years of data without the need for a single intermediary data warehouse table.
Materialization for High-Performance Needs
While direct querying is highly efficient for most analytical use cases, AWS has also accounted for scenarios requiring sub-millisecond latency. In instances where a query pattern must be executed with extreme speed, developers can materialize data from the data lake into a native Aurora PostgreSQL table. Using standard commands like CREATE TABLE AS SELECT or INSERT INTO ... SELECT, developers can move specific, high-value data into the local Aurora storage. Once materialized, this data is treated as any other local PostgreSQL table, providing the low-latency performance required for "hot" data while still allowing the underlying data lake to serve as the long-term, cost-effective storage layer.
This materialization process is flexible, as read queries can be offloaded to any read replica in the Aurora cluster, ensuring that intensive analytical scans do not impact the performance of the primary writer instance. The materialization commands themselves, which involve writing data into Aurora, are executed on the writer node.
Availability and Future Outlook
This direct querying capability for Apache Iceberg and Parquet is available immediately across all commercial AWS Regions, as well as in AWS GovCloud (US) Regions. Notably, there is no additional charge for the feature itself; users simply pay for the incremental Aurora compute resources consumed by the queries and the standard Amazon S3 request costs associated with reading the files from their data lake.

By integrating DuckDB, AWS is setting a new standard for how transactional databases interact with modern data lakes. As the open-source DuckDB project continues to advance, Aurora PostgreSQL is positioned to inherit those future performance and functional improvements automatically. For organizations looking to simplify their data stacks, minimize the maintenance of brittle ETL pipelines, and empower their developers to build more responsive, data-rich applications, this update represents a significant step forward. AWS has indicated that documentation and support resources are available via the Amazon RDS console and the official Aurora PostgreSQL documentation, with feedback channels open through AWS re:Post and standard support contacts for those looking to implement this new architecture within their own environments.

