Releases: timescale/timescaledb
2.4.0 (2021-08-03)
This release adds new experimental features since the 2.3.1 release.
The experimental features in this release are:
- APIs for chunk manipulation across data nodes in a distributed
hypertable setup. This includes the ability to add a data node and move
chunks to the new data node for cluster rebalancing. - The
time_bucket_ng
function, a newer version oftime_bucket
. This
function supports years, months, days, hours, minutes, and seconds.
We’re committed to developing these experiments, giving the community
a chance to provide early feedback and influence the direction of
TimescaleDB’s development. We’ll travel faster with your input!
Please create your feedback as a GitHub issue (using the
experimental-schema label), describe what you found, and tell us the
steps or share the code snip to recreate it.
This release also includes several bug fixes.
PostgreSQL 11 deprecation announcement
Timescale is working hard on our next exciting features. To make that
possible, we require functionality that is available in Postgres 12 and
above. Postgres 11 is not supported with TimescaleDB 2.4.
Experimental Features
- #3293 Add timescaledb_experimental schema
- #3302 Add block_new_chunks and allow_new_chunks API to experimental
schema. Add chunk based refresh_continuous_aggregate. - #3211 Introduce experimental time_bucket_ng function
- #3366 Allow use of experimental time_bucket_ng function in continuous aggregates
- #3408 Support for seconds, minutes and hours in time_bucket_ng
- #3446 Implement cleanup for chunk copy/move.
Bugfixes
- #3401 Fix segfault for RelOptInfo without fdw_private
- #3411 Verify compressed chunk validity for compressed path
- #3416 Fix targetlist names for continuous aggregate views
- #3434 Remove extension check from relcache invalidation callback
- #3440 Fix remote_tx_heal_data_node to work with only current database
Thanks
- @fvannee for reporting an issue with hypertable expansion in functions
- @amalek215 for reporting an issue with cache invalidation during pg_class vacuum full
- @hardikm10 for reporting an issue with inserting into compressed chunks
- @dberardo-com and @iancmcc for reporting an issue with extension updates after renaming columns of continuous aggregates.
2.3.1 (2021-07-07)
This maintenance release contains bugfixes since the 2.3.0 release. We
deem it moderate priority for upgrading. The release introduces the
possibility of generating downgrade scripts, improves the trigger
handling for distributed hypertables, adds some more randomness to
chunk assignment to avoid thundering herd issues in chunk assignment,
and fixes some issues in update handling as well as some other bugs.
Bugfixes
- #3279 Add some more randomness to chunk assignment
- #3288 Fix failed update with parallel workers
- #3300 Improve trigger handling on distributed hypertables
- #3304 Remove paths that reference parent relids for compressed chunks
- #3305 Fix pull_varnos miscomputation of relids set
- #3310 Generate downgrade script
- #3314 Fix heap buffer overflow in hypertable expansion
- #3317 Fix heap buffer overflow in remote connection cache.
- #3327 Make aggregate in caggs fully qualified
- #3327 Make aggregates in caggs fully qualified
- #3336 Fix pg_init_privs objsubid handling
- #3345 Fix SkipScan distinct column identification
- #3355 Fix heap buffer overflow when renaming compressed hypertable columns.
- #3367 Improve DecompressChunk qual pushdown
- #3377 Fix bad use of repalloc
Thanks
- @db-adrian for reporting an issue when accessing cagg view through postgres_fdw
- @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path
- @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script
- @fvannee for reporting a performance regression with SkipScan
The music for this release was Izzy Stradlin's On Down the Road.
2.3.0 (2021-05-25)
This release adds major new features since the 2.2.1 release.
We deem it moderate priority for upgrading.
This release adds support for inserting data into compressed chunks
and improves performance when inserting data into distributed hypertables.
Distributed hypertables now also support triggers and compression policies.
The bug fixes in this release address issues related to the handling
of privileges on compressed hypertables, locking, and triggers with transition tables.
Features
- #3116 Add distributed hypertable compression policies
- #3162 Use COPY when executing distributed INSERTs
- #3199 Add GENERATED column support on distributed hypertables
- #3210 Add trigger support on distributed hypertables
- #3230 Support for inserts into compressed chunks
Bugfixes
- #3213 Propagate grants to compressed hypertables
- #3229 Use correct lock mode when updating chunk
- #3243 Fix assertion failure in decompress_chunk_plan_create
- #3250 Fix constraint triggers on hypertables
- #3251 Fix segmentation fault due to incorrect call to chunk_scan_internal
- #3252 Fix blocking triggers with transition tables
Thanks
- @yyjdelete for reporting a crash with decompress_chunk and identifying the bug in the code
- @fabriziomello for documenting the prerequisites when compiling against PostgreSQL 13
The music for this release was Queen's The Works.
2.2.1 (2021-05-05)
This maintenance release contains bugfixes since the 2.2.0 release. We
deem it high priority for upgrading.
This release extends Skip Scan to multinode by enabling the pushdown
of DISTINCT
to data nodes. It also fixes a number of bugs in the
implementation of Skip Scan, in distributed hypertables, in creation
of indexes, in compression, and in policies.
Features
- #3113 Pushdown "SELECT DISTINCT" in multi-node to allow use of Skip
Scan
Bugfixes
- #3101 Use commit date in
get_git_commit()
- #3102 Fix
REINDEX TABLE
for distributed hypertables - #3104 Fix use after free in
add_reorder_policy
- #3106 Fix use after free in
chunk_api_get_chunk_stats
- #3109 Copy recreated object permissions on update
- #3111 Fix
CMAKE_BUILD_TYPE
check - #3112 Use
%u
to format Oid instead of%d
- #3118 Fix use after free in cache
- #3123 Fix crash while using
REINDEX TABLE CONCURRENTLY
- #3135 Fix SkipScan path generation in
DISTINCT
queries with expressions - #3146 Fix SkipScan for IndexPaths without pathkeys
- #3147 Skip ChunkAppend if AppendPath has no children
- #3148 Make
SELECT DISTINCT
handle non-var targetlists - #3151 Fix
fdw_relinfo_get
assertion failure onDELETE
- #3155 Inherit
CFLAGS
from PostgreSQL - #3169 Fix incorrect type cast in compression policy
- #3183 Fix segfault in calculate_chunk_interval
- #3185 Fix wrong datatype for integer based retention policy
Thanks
- @Dead2, @dv8472 and @einsibjarni for reporting an issue with multinode queries and views
- @aelg for reporting an issue with policies on integer-based hypertables
- @hperez75 for reporting an issue with Skip Scan
- @nathanloisel for reporting an issue with compression on hypertables with integer-based timestamps
- @xin-hedera for fixing an issue with compression on hypertables with integer-based timestamps
The music for this release was Justin Timberlake's The 20/20 Experience – 2 of 2.
2.2.0 (2021-04-13)
This release adds major new features since the 2.1.1 release.
We deem it moderate priority for upgrading.
This release adds the Skip Scan optimization, which significantly
improves the performance of queries with DISTINCT ON. This
optimization is not yet available for queries on distributed
hypertables.
This release also adds a function to create a distributed
restore point, which allows performing a consistent restore of a
multi-node cluster from a backup.
The bug fixes in this release address issues with size and stats
functions, high memory usage in distributed inserts, slow distributed
ORDER BY queries, indexes involving INCLUDE, and single chunk query
planning.
PostgreSQL 11 deprecation announcement
Timescale is working hard on our next exciting features. To make that
possible, we require functionality that is unfortunately absent on
PostgreSQL 11. For this reason, we will continue supporting PostgreSQL
11 until mid-June 2021. Sooner to that time, we will announce the
specific version of TimescaleDB in which PostgreSQL 11 support will
not be included going forward.
Major Features
Bugfixes
- #2989 Refactor and harden size and stats functions
- #3058 Reduce memory usage for distributed inserts
- #3067 Fix extremely slow multi-node order by queries
- #3082 Fix chunk index column name mapping
- #3083 Keep Append pathkeys in ChunkAppend
Thanks
- @BowenGG for reporting an issue with indexes with INCLUDE
- @fvannee for reporting an issue with ChunkAppend pathkeys
- @pedrokost and @RobAtticus for reporting an issue with size
functions on empty hypertables - @phemmer and @ryanbooz for reporting issues with slow
multi-node order by queries - @stephane-moreau for reporting an issue with high memory usage during
single-transaction inserts on a distributed hypertable.
The music for this release was Michael Jackson's Thriller.
2.1.1 (2021-03-29)
This maintenance release contains bugfixes since the 2.1.0 release. We
deem it high priority for upgrading.
The bug fixes in this release address issues with CREATE INDEX and
UPSERT for hypertables, custom jobs, and gapfill queries.
This release marks TimescaleDB as a trusted extension in PG13, so that
superuser privileges are not required anymore to install the extension.
Minor features
- #2998 Mark timescaledb as trusted extension
Bugfixes
- #2948 Fix off by 4 error in histogram deserialize
- #2974 Fix index creation for hypertables with dropped columns
- #2990 Fix segfault in job_config_check for cagg
- #2987 Fix crash due to txns in emit_log_hook_callback
- #3042 Commit end transaction for CREATE INDEX
- #3053 Fix gapfill/hashagg planner interaction
- #3059 Fix UPSERT on hypertables with columns with defaults
Thanks
- @eloyekunle and @kitwestneat for reporting an issue with UPSERT
- @jocrau for reporting an issue with index creation
- @kev009 for fixing a compilation issue
- @majozv and @pehlert for reporting an issue with time_bucket_gapfill
The music for this release was David Bowie's Let's Dance.
2.1.0 (2021-02-22)
This release adds major new features since the 2.0.2 release.
We deem it moderate priority for upgrading.
This release adds the long-awaited support for PostgreSQL 13 to TimescaleDB.
The minimum required PostgreSQL 13 version is 13.2 due to a security vulnerability
affecting TimescaleDB functionality present in earlier versions of PostgreSQL 13.
This release also relaxes some restrictions for compressed hypertables;
namely, TimescaleDB now supports adding columns to compressed hypertables
and renaming columns of compressed hypertables.
Major Features
- #2779 Add support for PostgreSQL 13
Minor features
- #2736 Support adding columns to hypertables with compression enabled
- #2909 Support renaming columns of hypertables with compression enabled
The music for this release was Rush's 2112.
2.0.2 (2021-02-19)
This maintenance release contains bugfixes since the 2.0.1 release. We
deem it high priority for upgrading.
The bug fixes in this release address issues with joins, the status of
background jobs, and disabling compression. It also includes
enhancements to continuous aggregates, including improved validation
of policies and optimizations for faster refreshes when there are a
lot of invalidations.
Minor features
- #2926 Optimize cagg refresh for small invalidations
Bugfixes
- #2850 Set status for backend in background jobs
- #2883 Fix join qual propagation for nested joins
- #2884 Add GUC to control join qual propagation
- #2885 Fix compressed chunk check when disabling compression
- #2908 Fix changing column type of clustered hypertables
- #2942 Validate continuous aggregate policy
Thanks
- @zeeshanshabbir93 for reporting an issue with joins
- @Antiarchitect for reporting the issue with slow refreshes of
continuous aggregates. - @diego-hermida for reporting the issue about being unable to disable
compression - @mtin for reporting the issue about wrong job status
The music for this release was Justin Timberlake's The 20/20 Experience.
2.0.1 (2021-01-28)
This maintenance release contains bugfixes since the 2.0.0 release.
We deem it high priority for upgrading.
In particular the fixes contained in this maintenance release address
issues in continuous aggregates, compression, JOINs with hypertables
and when upgrading from previous versions.
Bugfixes
- #2772 Always validate existing database and extension
- #2780 Fix config enum entries for remote data fetcher
- #2806 Add check for dropped chunk on update
- #2828 Improve cagg watermark caching
- #2838 Fix catalog repair in update script
- #2842 Do not mark job as started when setting next_start field
- #2845 Fix continuous aggregate privileges during upgrade
- #2851 Fix nested loop joins that involve compressed chunks
- #2860 Fix projection in ChunkAppend nodes
- #2861 Remove compression stat update from update script
- #2865 Apply volatile function quals at decompresschunk node
- #2866 Avoid partitionwise planning of partialize_agg
- #2868 Fix corruption in gapfill plan
- #2874 Fix partitionwise agg crash due to uninitialized memory
Thanks
- @alex88 for reporting an issue with joined hypertables
- @brian-from-quantrocket for reporting an issue with extension update and dropped chunks
- @dhodyn for reporting an issue when joining compressed chunks
- @markatosi for reporting a segfault with partitionwise aggregates enabled
- @PhilippJust for reporting an issue with add_job and initial_start
- @sgorsh for reporting an issue when using pgAdmin on windows
- @WarriorOfWire for reporting the bug with gapfill queries not being
able to find pathkey item to sort
The music for this release was Buckethead's Electric Tears.
2.0.0 (2020-12-21)
With this release, we are officially moving TimescaleDB 2.0 to GA,
concluding several release candidates.
TimescaleDB 2.0 adds the much-anticipated support for distributed
hypertables (multi-node TimescaleDB), as well as new features and
enhancements to core functionality to give users better clarity and
more control and flexibility over their data.
Multi-node architecture: In particular, with TimescaleDB 2.0, users
can now create distributed hypertables across multiple instances of
TimescaleDB, configured so that one instance serves as an access node
and multiple others as data nodes. All queries for a distributed
hypertable are issued to the access node, but inserted data and queries
are pushed down across data nodes for greater scale and performance.
Multi-node TimescaleDB can be self managed or, for easier operation,
launched within Timescale's fully-managed cloud services.
This release also adds:
- Support for user-defined actions, allowing users to define,
customize, and schedule automated tasks, which can be run by the
built-in jobs scheduling framework now exposed to users. - Significant changes to continuous aggregates, which now separate the
view creation from the policy. Users can now refresh individual
regions of the continuous aggregate materialized view, or schedule
automated refreshing via policy. - Redesigned informational views, including new (and more general)
views for information about hypertable's dimensions and chunks,
policies and user-defined actions, as well as support for multi-node
TimescaleDB. - Moving all formerly enterprise features into our Community Edition,
and updating Timescale License, which now provides additional (more
permissive) rights to users and developers.
Some of the changes above (e.g., continuous aggregates, updated
informational views) do introduce breaking changes to APIs and are not
backwards compatible. While the update scripts in TimescaleDB 2.0 will
upgrade databases running TimescaleDB 1.x automatically, some of these
API and feature changes may require changes to clients and/or upstream
scripts that rely on the previous APIs. Before upgrading, we recommend
reviewing upgrade documentation at docs.timescale.com for more details.
Major Features
TimescaleDB 2.0 moves the following major features to GA:
- #1923 Add support for distributed hypertables
- #2006 Add support for user-defined actions
- #2125 #2221 Improve Continuous Aggregate API
- #2084 #2089 #2098 #2417 Redesign informational views
- #2435 Move enterprise features to community
- #2437 Update Timescale License
Previous Release Candidates
- #2702 Release Candidate 4 (December 2, 2020)
- #2637 Release Candidate 3 (November 12, 2020)
- #2554 Release Candidate 2 (October 20, 2020)
- #2478 Release Candidate 1 (October 1, 2020)
Minor Features
Since the last release candidate 4, there are several minor
improvements:
- #2746 Optimize locking for create chunk API
- #2705 Block tableoid access on distributed hypertable
- #2730 Do not allow unique index on compressed hypertables
- #2764 Bootstrap data nodes with versioned extension
Bugfixes
Since the last release candidate 4, there are several bugfixes:
- #2719 Support disabling compression on distributed hypertables
- #2742 Fix compression status in chunks view for distributed chunks
- #2751 Fix crash and cancel when adding data node
- #2763 Fix check constraint on hypertable metadata table
Thanks
Thanks to all contributors for the TimescaleDB 2.0 release:
- @airton-neto for reporting a bug in executing some queries with UNION
- @nshah14285 for reporting an issue with propagating privileges
- @kalman5 for reporting an issue with renaming constraints
- @LbaNeXte for reporting a bug in decompression for queries with
subqueries - @semtexzv for reporting an issue with continuous aggregates on
int-based hypertables - @mr-ns for reporting an issue with privileges for creating chunks
- @cloud-rocket for reporting an issue with setting an owner on
continuous aggregate - @jocrau for reporting a bug during creating an index with transaction
per chunk - @fvannee for reporting an issue with custom time types
- @ArtificialPB for reporting a bug in executing queries with
conditional ordering on compressed hypertable - @dutchgecko for reporting an issue with continuous aggregate datatype
handling - @lambdaq for suggesting to improve error message in continuous
aggregate creation - @francesco11112 for reporting memory issue on COPY
- @Netskeh for reporting bug on time_bucket problem in continuous
aggregates - @mr-ns for reporting the issue with CTEs on distributed hypertables
- @akamensky for reporting an issue with recursive cache invalidation
- @ryanbooz for reporting slow queries with real-time aggregation on
continuous aggregates - @cevian for reporting an issue with disabling compression on
distributed hypertables
The music for this release was Synchroncity by The Police.