Analytics Accelerator 1.8 release notes v1.8
The Postgres Analytics Accelerator (PGAA) 1.8 documentation describes the latest version of Analytics Accelerator. Release notes for all supported versions are also included below.
PGAA 1.8
Released: 9 April 2026
Analytics Accelerator 1.8 includes the following enhancements and bug fixes:
Features
- Partitioned table union views for storage location-based replication: Union views over partitioned tables, previously supported only for REST catalogs, are now also supported for file-based storage location catalogs.
- Progress reporting for CTAS operations: CTAS jobs now emit
NOTICEmessages every 1 million rows or 10 minutes, giving visibility into long-running query status. - Improved query pushdown for EPAS: Common EPAS-specific functions are now recognized by the Seafowl engine, enabling DirectScan acceleration for queries that previously fell back to CompatScan due to Oracle-compatible syntax.
- Improved replication of unsupported list types: Several additional Postgres array types are now replicated natively to the data lake. Other unsupported array types are replicated as arrays of strings rather than being stringified into a single text value.
pgaa.seafowl_version()function: A new function that returns detailed Seafowl engine version information, including commit hash, build time, optimization level, and enabled features.
Bug fixes
- Fixed an issue where CTAS queries returning zero rows didn't correctly create an empty table.
- Fixed an equality delete predicate pushdown bug affecting query correctness on Iceberg tables with row-level deletes.
- Fixed an issue where
pg_dumpincorrectly dumped the contents of PGAA-managed tables. - Fixed overly aggressive query pushdown that could produce wrong results for certain queries containing correlated subqueries.
- PGAA now correctly infers the table format when creating tables using DDL for the PGAA access method.
Infrastructure & other changes
- Upgraded to DataFusion 52, including backports for upstream issues DF-19049 and DF-21292.
- Improved PGD initial load and CTAS performance by optimizing internal batch append operations.
- Extended
pgaa._bench_replication()to support catalog-based replication benchmarking in addition to storage location-based benchmarking.
PGAA 1.7
Released: 5 March 2026 Analytics Accelerator 1.7 includes the following enhancements and bug fixes:
Features
- Iceberg compaction maintenance: Added support for compaction maintenance operations on Iceberg tables via the
pgaa.launch_task()function. This workflow is handled natively by the PGAA background worker, removing the previous requirement for an external Spark Connect integration to execute compaction. This applies to both native PGAA tables and standard heap tables replicated with PGD. - PGD replication performance: Achieved a 2–2.5x increase in replication TPS to PGD by migrating the Seafowl-based sync writer with to the PGAA engine.
- Memory management: Introduced the
pgaa.max_in_memory_mbconfiguration parameter to allow granular control over size-related writer flush criteria. - Storage authentication: Enabled support for static credentials for storage backends that do not support automated credential vending.
Bug fixes
- Resolved an issue where lingering transaction locations prevented the promotion of durable LSNs.
- Fixed errors occurring during date and duration subtraction within the DirectScan engine.
Infrastructure & other changes
- Added a synthetic pgbench-like replication benchmark, accessible via the
pgaa._bench_replicationSQL function. - Merge end-to-end benchmarking scripts into a single unified utility,
pgaabench.sh.
Deprecations
- The function
pgaa.execute_compaction()is now deprecated and will be removed in a future release. Usepgaa.launch_task()for performing table maintenance.
PGAA 1.6
Released: 4 February 2026
Analytics Accelerator 1.6 includes the following enhancements and bug fixes, reflecting all changes since version 1.3.1:
Highlights
- GPU-accelerated analytics: Support for the Spark RAPIDS plugin allows you to leverage GPU acceleration for heavy analytical workloads when using the Spark Connect executor.
- Native Azure support: PGAA now officially supports Azure Blob Storage and Azure Data Lake Storage Gen2 (ADLS), allowing you to leverage Azure-based data lakes as primary storage locations for your analytical workloads.
- Expanded Parquet support: The Parquet storage format is now supported for PGFS locations using both
file://ands3://protocols. - Advanced query pushdown: Significant performance gains for CompatScan with new support for offloading joins and group-by aggregations directly to the vectorized engine.
Features
Performance & query optimization
- Added general optimizations for the Iceberg storage format.
- Enabled DirectScan for
HTAPtables when ananalytics_storage_locationis set. - The caching object store now invalidates entries immediately upon file read errors, but doesn't invalidate in-memory entries if file writes fail.
- Updated DataFusion to version 51 for improved stability and query performance.
- Added native support for
NOT LIKEandNOT ILIKEoperators.
Replication & data types
- Added support for the Postgres UUID type during replication.
- Added the following wrapper functions for easier PGD management:
pgaa.enable_analytics_replication,pgaa.disable_analytics_replication,pgaa.convert_to_analytics,pgaa.restore_from_analytics, andpgaa.convert_to_tiered_table. - All integer-like types smaller than
BIGINTare now coerced toINTEGER. - Updated default
pgaa.max_replication_lag_sandpgaa.flush_task_interval_sto 5 seconds for more responsive data freshing. - Added support for
BYTEAreplication and schema inference. - Introduced support for replicating Postgres array types to native lakehouse types, including specific support for
BPCHARandUUIDarrays. - Added a fallback mechanism that converts unsupported types to
TEXTto prevent replication failures. - Integrated the option
pgd.purge_analytics_targetinto thepgaa.enable_analytics_replicationandpgaa.convert_to_tiered_tablefunctions to purge existing analytics before replicating.
Catalog & storage management
- Iceberg REST connections now support OAuth2 authentication.
- Added
pgaa.execute_compactionto improve the performance and storage efficiency of an analytical Iceberg table using a Spark Connect executor engine. - Added helper commands for environment management:
pgaa.list_analytics_tables()to monitor table sizes and replication status.pgaa.list_tiered_tables()to view all tiered/partitioned tables.pgaa.pgaa_version(): to retrieve detailed version information.
- Added
pgaa.test_storage_location()andpgaa.test_catalog()functions to verify connectivity and configurations. - Added support for Parquet format for a PGFS storage location using
file://ands3://protocols. - Added a
cascadeparameter topgaa.detach_catalog(), which drops all tables managed by the catalog before detaching. - Included a safety improvement to the
pgaa.delete_catalog()function, by making it require an explicitcascade := trueparameter if tables are present, preventing accidental metadata loss. - Added automated catalog connection checks for the
pgaa.add_catalog()andpgaa.update_catalog()functions. - Added the
pgaa.list_catalog_tables()function which allows you to explore the all tables and views in a catalog without having to import or attach the tables to your local database first, with optional namespace filtering. - Added the
pgaa.drop_catalog_tables()function, which removes all local Postgres table and view definitions managed by a specific Iceberg catalog, without affecting tables in the remote Iceberg catalog. - Added namespace filtering to
pgaa.import_catalog(), allowing for selective schema imports. - Changed default value for configuration parameters such as
pgaa.tiered_tableandpgaa.purge_data_if_existstotrueif specified without an explicit value.
Bug fixes
- Fix object store cache issues when reading from Iceberg REST catalog.
- Fixed a lock-up issue where the PGAA
autoupgradeworker could block PGD DDL replication. - Resolved CTAS failures on multi-node setups by preventing tuple insertions on follower nodes.
- Fixed a segmentation fault occurring during
NULLinsertions inCREATE TABLE AS SELECToperations. - Fixed table recreation issues after purging by resetting sync collection before CTAS execution.
- Fixed misleading batch size estimation in the replication writer.
- Refined row squashing logic for append or remove-only batches.
- Resolved an issue where pre-existing tables or incompatible views were not correctly dropped for partitioned tables.
- Fixed query truncation issues in DirectScan query extraction.
- Resolved an issue where DirectScan failed to operate after a failed
CREATE TABLE AS SELECT(CTAS). - Fixed sync writer purges for views.
- Resolved duplicate key constraint violations when modifying the
pgaa.tiered_tableoption. - Corrected object deletion scoping when dropping
SingleTableFileCatalogtables. - Resolved an issue with table truncation where so now table truncation correctly replaces data with "no files" instead of an empty Parquet file.
- Resolved a memory leak during Create Table As Select (CTAS) operations that caused Out-of-Memory (OOM) errors on large tables.
- Fixed memory leaks occurring during internal table mapping operations.
- Fixed an issue where tiered table DML failed when using qualifiers without partition columns.
- Removed an unnecessary table existence warning from the CTAS hook.
- Fixed a duplicate key error triggered when repeatedly setting the
tiered_tableoption.
Infrastructure & other changes
- Added automated benchmarks for replication performance.
- Updated
rustcto 1.92.0. - Upgraded to DataFusion 50.
- Introduced ABI version 300, exposing new functionality including
pgaa_tabular_existsand object purging. - Exposed the ability to purge data via the PGAA ABI v300.
Deprecations
- Removed standalone metastore-agent.
- Dropped support for PGD versions prior to 6.1.
- Removed BigAnimal sidecar images.
- Removed the
pgaa.get_all_analytics_table_settingsfunction. - Upgrade paths from versions prior to 1.3 have been removed. Users on older versions must first upgrade to PGAA 1.3.1 before moving to 1.6.0.