TimescaleDB release notes

TimescaleDB is an open-source project with a vibrant community. To get involved, join our community.

note

Want to stay up-to-date with new releases? Subscribe to get release notes email updates.

What’s new in TimescaleDB 2.9:

  • Hierarchical Continuous Aggregates (aka Continuous Aggregate on top of another Continuous Aggregate)
  • Improve time_bucket_gapfill function to allow specifying the timezone to bucket
  • Introduce fixed schedules for background jobs and the ability to check job errors.
  • Use alter_data_node() to change the data node configuration. This function introduces the option to configure the availability of the data node.

2.9.0 (2022-12-15)

This release adds major new features since the 2.8.1 release. We deem it moderate priority for upgrading.

This release includes these noteworthy features:

  • Hierarchical Continuous Aggregates (aka Continuous Aggregate on top of another Continuous Aggregate)
  • Improve time_bucket_gapfill function to allow specifying the timezone to bucket
  • Introduce fixed schedules for background jobs and the ability to check job errors.
  • Use alter_data_node() to change the data node configuration. This function introduces the option to configure the availability of the data node.

This release also includes several bug fixes.

Features

  • 4476 Batch rows on access node for distributed COPY

  • 4567 Exponentially backoff when out of background workers

  • 4650 Show warnings when not following best practices

  • 4664 Introduce fixed schedules for background jobs

  • 4668 Hierarchical Continuous Aggregates

  • 4670 Add timezone support to time_bucket_gapfill

  • 4678 Add interface for troubleshooting job failures

  • 4718 Add ability to merge chunks while compressing

  • 4786 Extend the now() optimization to also apply to CURRENT_TIMESTAMP

  • 4820 Support parameterized data node scans in joins

  • 4830 Add function to change configuration of a data nodes

  • 4966 Handle DML activity when datanode is not available

  • 4971 Add function to drop stale chunks on a data node

Bug fixes

  • 4663 Don’t error when compression metadata is missing

  • 4673 Fix now() constification for VIEWs

  • 4681 Fix compression_chunk_size primary key

  • 4696 Report warning when enabling compression on hypertable

  • 4745 Fix FK constraint violation error while insert into hypertable which references partitioned table

  • 4756 Improve compression job IO performance

  • 4770 Continue compressing other chunks after an error

  • 4794 Fix degraded performance seen on timescaledb_internal.hypertable_local_size() function

  • 4807 Fix segmentation fault during INSERT into compressed hypertable

  • 4822 Fix missing segmentby compression option in CAGGs

  • 4823 Fix a crash that could occur when using nested user-defined functions with hypertables

  • 4840 Fix performance regressions in the copy code

  • 4860 Block multi-statement DDL command in one query

  • 4898 Fix cagg migration failure when trying to resume

  • 4904 Remove BitmapScan support in DecompressChunk

  • 4906 Fix a performance regression in the query planner by speeding up frozen chunk state checks

  • 4910 Fix a typo in process_compressed_data_out

  • 4918 Cagg migration orphans cagg policy

  • 4941 Restrict usage of the old format (pre 2.7) of continuous aggregates in PostgreSQL 15.

  • 4955 Fix cagg migration for hypertables using timestamp without timezone

  • 4968 Check for interrupts in gapfill main loop

  • 4988 Fix cagg migration crash when refreshing the newly created cagg

  • 5054 Fix segfault after second ANALYZE

  • 5086 Reset baserel cache on invalid hypertable cache

Thanks

  • @byazici for reporting a problem with segmentby on compressed caggs
  • @jflambert for reporting a crash with nested user-defined functions.
  • @jvanns for reporting hypertable FK reference to vanilla PostgreSQL partitioned table doesn’t seem to work
  • @kou for fixing a typo in process_compressed_data_out
  • @kyrias for reporting a crash when ANALYZE is executed on extended query protocol mode with extension loaded.
  • @tobiasdirksen for requesting Continuous aggregate on top of another continuous aggregate
  • @xima for reporting a bug in Cagg migration
  • @xvaara for helping reproduce a bug with bitmap scans in transparent decompression

2.8.1 (2022-10-06)

This release is a patch release. We recommend that you upgrade at the next available opportunity.

Bug fixes

  • 4454 Keep locks after reading job status

  • 4658 Fix error when querying a compressed hypertable with compress_segmentby on an enum column

  • 4671 Fix a possible error while flushing the COPY data

  • 4675 Fix bad TupleTableSlot drop

  • 4676 Fix a deadlock when decompressing chunks and performing SELECTs

  • 4685 Fix chunk exclusion for space partitions in SELECT FOR UPDATE queries

  • 4694 Change parameter names of cagg_migrate procedure

  • 4698 Do not use row-by-row fetcher for parameterized plans

  • 4711 Remove support for procedures as custom checks

  • 4712 Fix assertion failure in constify_now

  • 4713 Fix Continuous Aggregate migration policies

  • 4720 Fix chunk exclusion for prepared statements and dst changes

  • 4726 Fix gapfill function signature

  • 4737 Fix join on time column of compressed chunk

  • 4738 Fix error when waiting for remote COPY to finish

  • 4739 Fix continuous aggregate migrate check constraint

  • 4760 Fix segfault when INNER JOINing hypertables

  • 4767 Fix permission issues on index creation for CAggs

Thanks

  • @boxhock and @cocowalla for reporting a segfault when JOINing hypertables
  • @carobme for reporting constraint error during continuous aggregate migration
  • @choisnetm, @dustinsorensen, @jayadevanm and @joeyberkovitz for reporting a problem with JOINs on compressed hypertables
  • @daniel-k for reporting a background worker crash
  • @justinpryzby for reporting an error when compressing very wide tables
  • @maxtwardowski for reporting problems with chunk exclusion and space partitions
  • @yuezhihan for reporting GROUP BY error when having compress_segmentby on an enum column

2.8.0 (2022-08-30)

This release adds major new features since the 2.7.2 release. We deem it moderate priority for upgrading.

This release includes these noteworthy features:

  • time_bucket now supports bucketing by month, year and timezone
  • Improve performance of bulk SELECT and COPY for distributed hypertables
  • 1 step continuous aggregate policy management
  • Migrate continuous aggregates to the new format

Features

  • 4188 Use COPY protocol in row-by-row fetcher

  • 4307 Mark partialize_agg as parallel safe

  • 4380 Enable chunk exclusion for space dimensions in UPDATE/DELETE

  • 4384 Add schedule_interval to policies

  • 4390 Faster lookup of chunks by point

  • 4393 Support intervals with day component when constifying now()

  • 4397 Support intervals with month component when constifying now()

  • 4405 Support ON CONFLICT ON CONSTRAINT for hypertables

  • 4412 Add telemetry about replication

  • 4415 Drop remote data when detaching data node

  • 4416 Handle TRUNCATE TABLE on chunks

  • 4425 Add parameter check_config to alter_job

  • 4430 Create index on Continuous Aggregates

  • 4439 Allow ORDER BY on continuous aggregates

  • 4443 Add stateful partition mappings

  • 4484 Use non-blocking data node connections for COPY

  • 4495 Support add_dimension() with existing data

  • 4502 Add chunks to baserel cache on chunk exclusion

  • 4545 Add hypertable distributed argument and defaults

  • 4552 Migrate Continuous Aggregates to the new format

  • 4556 Add runtime exclusion for hypertables

  • 4561 Change get_git_commit to return full commit hash

  • 4563 1 step CAgg policy management

  • 4641 Allow bucketing by month, year, century in time_bucket and time_bucket_gapfill

  • 4642 Add timezone support to time_bucket

Bug fixes

  • 4359 Create composite index on segmentby columns

  • 4374 Remove constified now() constraints from plan

  • 4416 Handle TRUNCATE TABLE on chunks

  • 4478 Synchronize chunk cache sizes

  • 4486 Adding boolean column with default value doesn’t work on compressed table

  • 4512 Fix unaligned pointer access

  • 4519 Throw better error message on incompatible row fetcher settings

  • 4549 Fix dump_meta_data for windows

  • 4553 Fix timescaledb_post_restore GUC handling

  • 4573 Load TSL library on compressed_data_out call

  • 4575 Fix use of get_partition_hash and get_partition_for_key inside an IMMUTABLE function

  • 4577 Fix segfaults in compression code with corrupt data

  • 4580 Handle default privileges on CAggs properly

  • 4582 Fix assertion in GRANT .. ON ALL TABLES IN SCHEMA

  • 4583 Fix partitioning functions

  • 4589 Fix rename for distributed hypertable

  • 4601 Reset compression sequence when group resets

  • 4611 Fix a potential OOM when loading large data sets into a hypertable

  • 4624 Fix heap buffer overflow

  • 4627 Fix telemetry initialization

  • 4631 Ensure TSL library is loaded on database upgrades

  • 4646 Fix time_bucket_ng origin handling

  • 4647 Fix the error “SubPlan found with no parent plan” that occurred if using joins in RETURNING clause.

Thanks

  • @AlmiS for reporting error on get_partition_hash executed inside an IMMUTABLE function
  • @Creatation for reporting an issue with renaming hypertables
  • @janko for reporting an issue when adding bool column with default value to compressed hypertable
  • @jayadevanm for reporting error of TRUNCATE TABLE on compressed chunk
  • @michaelkitson for reporting permission errors using default privileges on Continuous Aggregates
  • @mwahlhuetter for reporting error in joins in RETURNING clause
  • @ninjaltd and @mrksngl for reporting a potential OOM when loading large data sets into a hypertable
  • @PBudmark for reporting an issue with dump_meta_data.sql on Windows
  • @ssmoss for reporting an issue with time_bucket_ng origin handling

2.7.2 (2022-07-26)

This release is a patch release. We recommend that you upgrade at the next available opportunity. Among other things this release fixes several memory leaks, handling of TOASTed values in GapFill and parameter handling in prepared statements.

Bugfixes

  • 4517 Fix prepared statement param handling in ChunkAppend

  • 4522 Fix ANALYZE on dist hypertable for a set of nodes

  • 4526 Fix gapfill group comparison for TOASTed values

  • 4527 Handle stats properly for range types

  • 4532 Fix memory leak in function telemetry

  • 4534 Use explicit memory context with hash_create

  • 4538 Fix chunk creation on hypertables with non-default statistics

Thanks

  • @3a6u9ka, @bgemmill, @hongquan, @stl-leonid-kalmaev and @victor-sudakov for reporting a memory leak
  • @hleung2021 and @laocaixw for reporting an issue with parameter handling in prepared statements

2.7.1 (2022-07-07)

Bug fixes

  • 4494 Handle TimescaleDB versions aptly in multi-node

  • 4493 Segfault when executing IMMUTABLE functions

  • 4482 Fix race conditions during chunk (de)compression

  • 4367 Improved buffer management in the copy operator

  • 4375 Don’t ask for orderby column if default already set

  • 4400 Use our implementation of find_em_expr_for_rel for PG15+

  • 4408 Fix crash during insert into distributed hypertable

  • 4411 Add shmem_request_hook

  • 4437 Fix segfault in subscription_exec

  • 4442 Fix perms in copy/move chunk

  • 4450 Retain hypertable ownership on attach_data_node

  • 4451 Repair numeric partial state on the fly

  • 4463 Fix empty bytea handlng with distributed tables

  • 4469 Better superuser handling for move_chunk

Features

  • 4244 Function telemetry

  • 4287 Add internal api for foreign table chunk

  • 4470 Block drop chunk if chunk is in frozen state

  • 4464 Add internal api to associate a hypertable with custom jobs

Thanks

  • @xin-hedera Finding bug in empty bytea values for distributed tables
  • @jflambert for reporting a bug with IMMUTABLE functions
  • @nikugogoi for reporting a bug with CTEs and upserts on distributed hypertables

2.7.0 (2022-05-24)

This release adds major new features since the 2.6.1 release. We deem it moderate priority for upgrading.

This release includes these noteworthy features:

  • Optimize continuous aggregate query performance and storage
  • The following query clauses and functions can now be used in a continuous aggregate: FILTER, DISTINCT, ORDER BY as well as Ordered-Set Aggregate and Hypothetical-Set Aggregate
  • Optimize now() query planning time
  • Improve COPY insert performance
  • Improve performance of UPDATE/DELETE on PG14 by excluding chunks
  • Improve performance of reading from compressed hypertables, especially when using JIT.

This release also includes several bug fixes.

If you are upgrading from a previous version and were using compression with a non-default collation on a segmentby-column you should recompress those hypertables.

Features

  • 4045 Custom origin’s support in CAGGs

  • 4120 Add logging for retention policy

  • 4158 Allow ANALYZE command on a data node directly

  • 4169 Add support for chunk exclusion on DELETE to PG14

  • 4209 Add support for chunk exclusion on UPDATE to PG14

  • 4269 Continuous Aggregates finals form

  • 4301 Add support for bulk inserts in COPY operator

  • 4311 Support non-superuser move chunk operations

  • 4330 Add GUC “bgw_launcher_poll_time”

  • 4340 Enable now() usage in plan-time chunk exclusion

Bug fixes

  • 3899 Fix segfault in Continuous Aggregates

  • 4225 Fix TRUNCATE error as non-owner on hypertable

  • 4236 Fix potential wrong order of results for compressed hypertable with a non-default collation

  • 4249 Fix option “timescaledb.create_group_indexes”

  • 4251 Fix INSERT into compressed chunks with dropped columns

  • 4255 Fix option “timescaledb.create_group_indexes”

  • 4259 Fix logic bug in extension update script

  • 4269 Fix bad Continuous Aggregate view definition reported in #4233

  • 4289 Support moving compressed chunks between data nodes

  • 4300 Fix refresh window cap for cagg refresh policy

  • 4315 Fix memory leak in scheduler

  • 4323 Remove printouts from signal handlers

  • 4342 Fix move chunk cleanup logic

  • 4349 Fix crashes in functions using AlterTableInternal

  • 4358 Fix crash and other issues in telemetry reporter

Thanks

  • @abrownsword for reporting a bug in the telemetry reporter and testing the fix
  • @jsoref for fixing various misspellings in code, comments and documentation
  • @yalon for reporting an error with ALTER TABLE RENAME on distributed hypertables
  • @zhuizhuhaomeng for reporting and fixing a memory leak in our scheduler

2.6.1 (2022-04-11)

This release contains bug fixes since the 2.6.0 release. This release is medium priority for upgrade. We recommend that you upgrade at the next available opportunity.

Bug fixes

  • 4121 Fix RENAME TO/SET SCHEMA on distributed hypertable

  • 4122 Fix segfault on INSERT into distributed hypertable

  • 4142 Ignore invalid relid when deleting hypertable

  • 4159 Fix ADD COLUMN IF NOT EXISTS error on compressed hypertable

  • 4161 Fix memory handling during scans

  • 4176 Fix remote EXPLAIN with parameterized queries

  • 4181 Fix spelling errors and omissions

  • 4186 Fix owner change for distributed hypertable

  • 4192 Abort sessions after extension reload

  • 4193 Fix relcache callback handling causing crashes

  • 4199 Remove signal-unsafe calls from signal handlers

  • 4219 Do not modify aggregation state in finalize

Thanks

  • @abrownsword for reporting a crash in the telemetry reporter
  • @daydayup863 for reporting issue with remote explain

2.6.0 (2022-02-16)

This release adds major new features since the 2.5.2 release, including:

  • Compression in continuous aggregates
  • Experimental support for timezones in continuous aggregates
  • Experimental support for monthly buckets in continuous aggregates

It also includes several bug fixes. Telemetry reports are switched to a new format, and now include more detailed statistics on compression, distributed hypertables and indexes. We deem this release to be moderate priority for upgrading.

Features

  • 3768 Allow ALTER TABLE ADD COLUMN with DEFAULT on compressedhypertable

  • 3769 Allow ALTER TABLE DROP COLUMN on compressed hypertable

  • 3873 Enable compression on continuous aggregates

  • 3943 Optimize first/last

  • 3945 Add support for ALTER SCHEMA on multi-node

  • 3949 Add support for DROP SCHEMA on multi-node

  • 3977 Timezones support in CAGGs

Bug fixes

  • 3808 Properly handle max_retries option

  • 3863 Fix remote transaction heal logic

  • 3869 Fix ALTER SET/DROP NULL contstraint on distributed hypertable

  • 3944 Fix segfault in add_compression_policy

  • 3961 Fix crash in EXPLAIN VERBOSE on distributed hypertable

  • 4015 Eliminate float rounding instabilities in interpolate

  • 4019 Update ts_extension_oid in transitioning state

  • 4073 Fix buffer overflow in partition scheme

Improvements

Query planning performance is improved for hypertables with a large number of chunks.

Thanks

  • @fvannee for reporting a first/last memory leak
  • @mmouterde for reporting an issue with floats and interpolate

2.5.2 (2022-02-09)

This release contains bug fixes since the 2.5.1 release. This release is high priority for upgrade. We strongly recommend that you upgrade as soon as possible.

Bug fixes

  • 3900 Improve custom scan node registration

  • 3911 Fix role type deparsing for GRANT command

  • 3918 Fix DataNodeScan plans with one-time filter

  • 3921 Fix segfault on insert into internal compressed table

  • 3938 Fix subtract_integer_from_now on 32-bit platforms and improve error handling

  • 3939 Fix projection handling in time_bucket_gapfill

  • 3948 Avoid double PGclear() in data fetchers

  • 3979 Fix deparsing of index predicates

  • 4020 Fix ALTER TABLE EventTrigger initialization

  • 4024 Fix premature cache release call

  • 4037 Fix status for dropped chunks that have catalog entries

  • 4069 Fix riinfo NULL handling in ANY construct

  • 4071 Fix extension installation privilege escalation (CVE-2022-24128)

Thanks

  • @carlocperez for reporting crash with NULL handling in ANY construct
  • @erikhh for reporting an issue with time_bucket_gapfill
  • @kancsuki for reporting drop column and partial index creation not working
  • @mmouterde for reporting an issue with floats and interpolate
  • Pedro Gallegos for reporting a possible privilege escalation during extension installation

2.5.1 (2021-12-01)

This release contains bug fixes since the 2.5.0 release. We deem it medium priority to upgrade.

Bug fixes

  • 3734 Rework distributed DDL processing logic

  • 3737 Fix flaky pg_dump

  • 3739 Fix compression policy on tables using INTEGER

  • 3766 Fix segfault in ts_hist_sfunc

  • 3789 Fix time_bucket comparison transformation

  • 3799 Fix error printout on correct security label

  • 3801 Fail size utility functions when data nodes do not respond

  • 3809 Fix NULL pointer evaluation in fill_result_error()

  • 3819 Fix reading garbage value from TSConnectionError

  • 3824 Remove pointers from CAGG lists for 64-bit archs

  • 3846 Eliminate deadlock in recompress chunk policy

  • 3881 Fix SkipScan crash due to pruned unique path

  • 3884 Fix create_distributed_restore_point memory issue

Thanks - @cbisnett for reporting and fixing a typo in an error message - @CaptainCuddleCube for reporting bug on compression policy procedure on tables using INTEGER on time dimension - @phemmer for reporting bugs on multi-node

2.5.0 (2021-10-28)

Features

  • 3034 Add support for PostgreSQL 14

  • 3435 Add continuous aggregates for distributed hypertables

  • 3505 Add support for timezones in time_bucket_ng()

Bug fixes

  • 3580 Fix memory context bug executing TRUNCATE

  • 3592 Allow alter column type on distributed hypertable

  • 3598 Improve evaluation of stable functions such as now() on access node

  • 3618 Fix execution of refresh_caggs from user action

  • 3625 Add shared dependencies when creating chunk

  • 3626 Fix memory context bug executing TRUNCATE

  • 3627 Schema qualify UDTs in multi-node

  • 3638 Allow owner change of a data node

  • 3654 Fix index attnum mapping in reorder_chunk

  • 3661 Fix SkipScan path generation with constant DISTINCT column

  • 3667 Fix compress_policy for multi txn handling

  • 3673 Fix distributed hypertable DROP within a procedure

  • 3701 Allow anyone to use size utilities on distributed hypertables

  • 3708 Fix crash in get_aggsplit

  • 3709 Fix ordered append pathkey check

  • 3712 Fix GRANT/REVOKE ALL IN SCHEMA handling

  • 3717 Support transparent decompression on individual chunks

  • 3724 Fix inserts into compressed chunks on hypertables with caggs

  • 3727 Fix DirectFunctionCall crash in distributed_exec

  • 3728 Fix SkipScan with varchar column

  • 3733 Fix ANALYZE crash with custom statistics for custom types

  • 3747 Always reset expr context in DecompressChunk

Thanks

  • @binakot and @sebvett for reporting an issue with DISTINCT queries
  • @hardikm10, @DavidPavlicek and @pafiti for reporting bugs on TRUNCATE
  • @mjf for reporting an issue with ordered append and JOINs
  • @phemmer for reporting the issues on multinode with aggregate queries and evaluation of now()
  • @abolognino for reporting an issue with INSERTs into compressed hypertables that have cagg
  • @tanglebones for reporting the ANALYZE crash with custom types on multinode

2.4.2 (2021-09-21)

This release contains bug fixes since the 2.4.1 release. We deem it high priority to upgrade.

Bug fixes

  • 3437 Rename on all continuous aggregate objects

  • 3469 Use signal-safe functions in signal handler

  • 3520 Modify compression job processing logic

  • 3527 Fix time_bucket_ng behaviour with origin argument

  • 3532 Fix bootstrap with regresschecks disabled

  • 3574 Fix failure on job execution by background worker

  • 3590 Call cleanup functions on backend exit

Thanks

  • @jankatins for reporting a crash with background workers
  • @LutzWeischerFujitsu for reporting an issue with bootstrap

2.4.1 (2021-08-19)

Bug fixes

  • 3430 Fix havingqual processing for continuous aggregates

  • 3468 Disable tests by default if tools are not found

  • 3462 Fix crash while tracking alter table commands

  • 3494 Improve error message when adding data nodes

  • 3489 Fix continuous agg bgw job failure for PG 12.8 and 13.4

Thanks

  • @brianbenns for reporting a segfault with continuous aggregates

2.4.0 (2021-07-30)

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

Bug fixes

  • 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-05)

This maintenance release contains bug fixes since the 2.3.0 release. We deem it moderate priority for upgrading.

Bug fixes

  • 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 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

2.3.0 (2021-05-25)

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

Bug fixes

  • 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

2.2.1 (2021-05-05)

This maintenance release contains bug fixes 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

Bug fixes

  • 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 on DELETE

  • 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

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 continue supporting PostgreSQL 11 only until mid-June 2021. At some point before that time, we are going to announce in which version of TimescaleDB PostgreSQL 11 support is dropped.

Major features

  • 2843 Add distributed restore point functionality

  • 3000 SkipScan to speed up SELECT DISTINCT

Bug fixes

  • 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.

2.1.1 (2021-03-29)

This maintenance release contains bug fixes 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

Bug fixes

  • 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

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

2.0.2 (2021-02-19)

This maintenance release contains bug fixes 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

Bug fixes

  • 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

1.7.5 (2021-02-12)

This maintenance release contains bug fixes since the 1.7.4 release. Most of these fixes were backported from the 2.0.0 and 2.0.1 releases. We deem it high priority for upgrading for users on TimescaleDB 1.7.4 or previous versions.

In particular the fixes contained in this maintenance release address issues in continuous aggregates, compression, JOINs with hypertables, and when upgrading from previous versions.

Bug fixes

  • 2502 Replace check function when updating

  • 2558 Repair dimension slice table on update

  • 2619 Fix segfault in decompress_chunk for chunks with dropped columns

  • 2664 Fix support for complex aggregate expression

  • 2800 Lock dimension slices when creating new chunk

  • 2860 Fix projection in ChunkAppend nodes

  • 2865 Apply volatile function quals at decompresschunk

  • 2851 Fix nested loop joins that involve compressed chunks

  • 2868 Fix corruption in gapfill plan

  • 2883 Fix join qual propagation for nested joins

  • 2885 Fix compressed chunk check when disabling compression

  • 2920 Fix repair in update scripts

Thanks

  • @akamensky for reporting several issues including segfaults after version update
  • @alex88 for reporting an issue with joined hypertables
  • @dhodyn for reporting an issue when joining compressed chunks
  • @diego-hermida for reporting an issue with disabling compression
  • @Netskeh for reporting bug on time_bucket problem in continuous aggregates
  • @WarriorOfWire for reporting the bug with gapfill queries not being able to find pathkey item to sort
  • @zeeshanshabbir93 for reporting an issue with joins

2.0.1 (2021-01-28)

This maintenance release contains bug fixes 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.

Bug fixes

  • 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

2.0.0 (2020-12-18)

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 (for example, continuous aggregates, updated informational views) do introduce breaking changes to APIs and are not backwards compatible. While the update scripts in TimescaleDB 2.0 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

Bug fixes

Since the last release candidate 4, there are several bug fixes:

  • 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

2.0.0-rc4 (2020-12-02)

This release candidate contains bug fixes since the previous release candidate, as well as additional minor features. It improves validation of configuration changes for background jobs, adds support for gapfill on distributed tables, contains improvements to the memory handling for large COPY, and contains improvements to compression for distributed hypertables.

Minor features

  • 2689 Check configuration in alter_job and add_job

  • 2696 Support gapfill on distributed hypertable

  • 2468 Show more information in get_git_commit

  • 2678 Include user actions into job stats view

  • 2664 Fix support for complex aggregate expression

  • 2672 Add hypertable to continuous aggregates view

  • 2662 Save compression metadata settings on access node

  • 2707 Introduce additional db for data node bootstrapping

Bug fixes

  • 2688 Fix crash for concurrent drop and compress chunk

  • 2666 Fix timeout handling in async library

  • 2683 Fix crash in add_job when given NULL interval

  • 2698 Improve memory handling for remote COPY

  • 2555 Set metadata for chunks compressed before 2.0

Thanks

  • @francesco11112 for reporting memory issue on COPY
  • @Netskeh for reporting bug on time_bucket problem in continuous aggregates

2.0.0-rc3 (2020-11-12)

This release candidate contains bug fixes since the previous release candidate, as well as additional minor features including support for “user-mapping” authentication between access/data nodes and an experimental API for refreshing continuous aggregates on individual chunks.

Minor features

  • 2627 Add optional user mappings support

  • 2635 Add API to refresh continuous aggregate on chunk

Bug fixes

  • 2560 Fix SCHEMA DROP CASCADE with continuous aggregates

  • 2593 Set explicitly all lock parameters in alter_job

  • 2604 Fix chunk creation on hypertables with foreign key constraints

  • 2610 Support analyze of internal compression table

  • 2612 Optimize internal cagg_watermark function

  • 2613 Refresh correct partial during refresh on drop

  • 2617 Fix validation of available extensions on data node

  • 2619 Fix segfault in decompress_chunk for chunks with dropped columns

  • 2620 Fix DROP CASCADE for continuous aggregate

  • 2625 Fix subquery errors when using AsyncAppend

  • 2626 Fix incorrect total_table_pages setting for compressed scan

  • 2628 Stop recursion in cache invalidation

Thanks

  • @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

2.0.0-rc2 (2020-10-21)

This release candidate contains bug fixes since the previous release candidate.

Minor features

  • 2520 Support non-transactional distibuted_exec

Bug fixes

  • 2307 Overflow handling for refresh policy with integer time

  • 2503 Remove error for correct bootstrap of data node

  • 2507 Fix validation logic when adding a new data node

  • 2510 Fix outer join qual propagation

  • 2514 Lock dimension slices when creating new chunk

  • 2515 Add if_attached argument to detach_data_node()

  • 2517 Fix member access within misaligned address in chunk_update_colstats

  • 2525 Fix index creation on hypertables with dropped columns

  • 2543 Pass correct status to lock_job

  • 2544 Assume custom time type range is same as bigint

  • 2563 Fix DecompressChunk path generation

  • 2564 Improve continuous aggregate datatype handling

  • 2568 Change use of ssl_dir GUC

  • 2571 Make errors and messages conform to style guide

  • 2577 Exclude compressed chunks from ANALYZE/VACUUM

2.0.0-rc1 (2020-10-06)

This release adds major new features and bug fixes

(本文超出站点单文档体积上限,已截断)