This release includes security fixes, performance improvements, and bug fixes since 2.31.0. As part of our ongoing proactive security reviews, this release includes a larger set of security fixes than usual. We recommend that you upgrade as soon as possible.
Loader Changes
For the loader changes take effect a PostgreSQL restart is required.
- #10966 Check database ownership before stopping or restarting background workers on database commands
- #10983 Run the background worker scheduler as the database owner instead of as superuser
Features
- #10864 Improve continuous aggregate refresh performance by updating the watermark once per batch
- #10878 Enable Adaptive Integer Compression (AIC) by default
- #10927 Remove user switching when allocating ids from the internal catalog sequences
- #10953 Allow database owners to start, stop, and restart background workers without superuser
- #10960 Run the telemetry job as the database owner instead of the role that installed the extension
Bugfixes
- #10075 Removing the bloom1_contains function and rejecting anonymous record arrays in bloom1_contains_any
- #10296, #10745 Fix continuous aggregate refresh skipping the last invalidated bucket for variable-sized buckets
- #10854 Correctly skip rows with conversion errors during
COPY FROM ON_ERRORignore - #10855 Enforce
REJECT_LIMITduringCOPY FROMon PostgreSQL 18 and later - #10887 Fix "repalloc called with invalid pointer" when compressing batches of more than 992 rows for certain data patterns
- #10893 Fix typo in the columnar README example
- #10902 Fix concurrent
UPDATE/DELETEon hypertables silently skipping rows underREAD COMMITTED - #10919 Check schema
CREATEprivilege when creating a continuous aggregate - #10925 Create chunk constraints without switching to the catalog owner
- #10961 Fix crash in
decompress_chunkwhen the hypertable is dropped concurrently - #10961 Fix null dereference in in-memory recompression when the compression settings are missing
- #10961 Fix stale chunk and hypertable state in
compress_chunkwhen a concurrent decompress or compression change commits - #10962 Reset
search_pathafter everyCOMMITin the columnstore policy - #10964 Fix crash in
cagg_validate_querywhen called with aSELECT INTOstatement - #10964 Fix crash in
cagg_validate_querywhen the user lacksSELECTpermission on the hypertable - #10965 Verify the server certificate on telemetry SSL connections
- #10967 Fix crash in
show_policieswhen called more than once in the same query - #10968 Fix crash in
add_policiesandalter_policieswhen adrop_created_beforeretention policy exists on the hypertable or the continuous aggregate - #10970 Fix
ORDER BYpushdown for realtime continuous aggregates with anORDER BYin their definition - #10988 Report a missing policy config key as a user error instead of an internal error
- #10988 Restrict changing the config check function of a job to the job ownerwhat
- #10989 Match job procedures by OID in DDL hooks
- #10991 Fix function overload in
approximate_row_count - #10993 Require ownership of the chunk, not just of the hypertable, to do chunk operations on them
GUCs
compression_orderby_default_function: Function to use for calculating default order_by setting for compression. Default:timescaledb.compression_orderby_default_functioncompression_segmentby_default_function: Function to use for calculating default segment_by setting for compression. Default:timescaledb.compression_segmentby_default_function
Thanks
- @JoongHyuk-Shin for fixing continuous aggregate refresh skipping the last invalidated bucket for variable-width buckets, 10419
- @manishnithinreddy for reporting the concurrent
UPDATE/DELETEregression and bisecting it to2.28.1, 10902 - @martin-omacht for reporting missing and stale buckets in a continuous aggregate with a timezone, #10296
- @owhiterabbito for reporting the compression error and analyzing the selector buffer size, #10887
- @pei711 for fixing a typo in the README, #10893
- @salmanazmat666 for reporting the continuous aggregate refresh skipping the last bucket on a variable-width bucket boundary, #10745