Timescaledb Versions Save

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.

2.11.0

11 months ago

This release contains new features and bug fixes since the 2.10.3 release. We deem it moderate priority for upgrading.

This release includes these noteworthy features:

  • Support for DML operations on compressed chunks:
    • UPDATE/DELETE support
    • Support for unique constraints on compressed chunks
    • Support for ON CONFLICT DO UPDATE
    • Support for ON CONFLICT DO NOTHING
  • Join support for hierarchical Continuous Aggregates

Features

  • #5212 Allow pushdown of reference table joins
  • #5261 Improve Realtime Continuous Aggregate performance
  • #5252 Improve unique constraint support on compressed hypertables
  • #5339 Support UPDATE/DELETE on compressed hypertables
  • #5344 Enable JOINS for Hierarchical Continuous Aggregates
  • #5361 Add parallel support for partialize_agg()
  • #5417 Refactor and optimize distributed COPY
  • #5454 Add support for ON CONFLICT DO UPDATE for compressed hypertables
  • #5547 Skip Ordered Append when only 1 child node is present
  • #5510 Propagate vacuum/analyze to compressed chunks
  • #5584 Reduce decompression during constraint checking
  • #5530 Optimize compressed chunk resorting
  • #5639 Support sending telemetry event reports

Bugfixes

  • #5396 Fix SEGMENTBY columns predicates to be pushed down
  • #5427 Handle user-defined FDW options properly
  • #5442 Decompression may have lost DEFAULT values
  • #5459 Fix issue creating dimensional constraints
  • #5570 Improve interpolate error message on datatype mismatch
  • #5573 Fix unique constraint on compressed tables
  • #5615 Add permission checks to run_job()
  • #5614 Enable run_job() for telemetry job
  • #5578 Fix on-insert decompression after schema changes
  • #5613 Quote username identifier appropriately
  • #5525 Fix tablespace for compressed hypertable and corresponding toast
  • #5642 Fix ALTER TABLE SET with normal tables
  • #5666 Reduce memory usage for distributed analyze
  • #5668 Fix subtransaction resource owner
  • #5680 Fix DISTINCT query with JOIN on multiple segmentby columns

Thanks

  • @kovetskiy and @DZDomi for reporting peformance regression in Realtime Continuous Aggregates
  • @ollz272 for reporting an issue with interpolate error messages
  • @ericdevries for reporting an issue with DISTINCT queries using segmentby columns of compressed hypertable

2.10.3

1 year ago

Bug fixes

  • #5583 Fix parameterization in DecompressChunk path generation
  • #5602 Fix broken CAgg with JOIN repair function

2.10.2

1 year ago

Bug fixes

  • #5410 Fix file trailer handling in the COPY fetcher
  • #5446 Add checks for malloc failure in libpq calls
  • #5233 Out of on_proc_exit slots on guc license change
  • #5428 Use consistent snapshots when scanning metadata
  • #5499 Do not segfault on large histogram() parameters
  • #5470 Ensure superuser perms during copy/move chunk
  • #5500 Fix when no FROM clause in continuous aggregate definition
  • #5433 Fix join rte in CAggs with joins
  • #5556 Fix duplicated entries on timescaledb_experimental.policies view
  • #5462 Fix segfault after column drop on compressed table
  • #5543 Copy scheduled_jobs list before sorting it
  • #5497 Allow named time_bucket arguments in Cagg definition
  • #5544 Fix refresh from beginning of Continuous Aggregate with variable time bucket
  • #5558 Use regrole for job owner
  • #5542 Enable indexscan on uncompressed part of partially compressed chunks

Thanks

  • @nikolaps for reporting an issue with the COPY fetcher
  • @S-imo-n for reporting the issue on Background Worker Scheduler crash
  • @geezhu for reporting issue on segfault in historgram()
  • @mwahlhuetter for reporting the issue with joins in CAggs
  • @mwahlhuetter for reporting issue with duplicated entries on timescaledb_experimental.policies view
  • @H25E for reporting error refreshing from beginning of a Continuous Aggregate with variable time bucket

2.10.1

1 year ago

This release contains bug fixes since the 2.10.0 release. We recommend that you upgrade at the next available opportunity.

Bug fixes

  • #5159 Support Continuous Aggregates names in hypertable_(detailed_)size
  • #5226 Fix concurrent locking with chunk_data_node table
  • #5317 Fix some incorrect memory handling
  • #5336 Use NameData and namestrcpy for names
  • #5343 Set PortalContext when starting job
  • #5360 Fix uninitialized bucket_info variable
  • #5362 Make copy fetcher more async
  • #5364 Fix num_chunks inconsistency in hypertables view
  • #5367 Fix column name handling in old-style continuous aggregates
  • #5378 Fix multinode DML HA performance regression
  • #5384 Fix Hierarchical Continuous Aggregates chunk_interval_size
  • #5304 Fix sub-second intervals in hierarchical caggs

Thanks

  • @justinozavala for reporting an issue with PL/Python procedures in the background worker
  • @Medvecrab for discovering an issue with copying NameData when forming heap tuples.
  • @pushpeepkmonroe for discovering an issue in upgrading old-style continuous aggregates with renamed columns

2.10.0

1 year ago

This release contains new features and bug fixes since the 2.9.3 release. We deem it moderate priority for upgrading.

This release includes these noteworthy features:

  • Joins in continuous aggregates
  • Re-architecture of how compression works: ~2x improvement on INSERT rate into compressed chunks.
  • Full PostgreSQL 15 support for all existing features. Support for the newly introduced MERGE command on hypertables will be introduced on a follow-up release.

PostgreSQL 12 deprecation announcement We will continue supporting PostgreSQL 12 until July 2023. Sooner to that time, we will announce the specific version of TimescaleDB in which PostgreSQL 12 support will not be included going forward.

Old format of Continuous Aggregates deprecation announcement TimescaleDB 2.7 introduced a new format for continuous aggregates that improves performance. All instances with Continuous Aggregates using the old format should migrate to the new format by July 2023, when support for the old format will be removed. Sooner to that time, we will announce the specific version of TimescaleDB in which support for this feature will not be included going forward.

Features

  • #4874 Allow joins in continuous aggregates
  • #4926 Refactor INSERT into compressed chunks
  • #5241 Allow RETURNING clause when inserting into compressed chunks
  • #5245 Manage life-cycle of connections via memory contexts
  • #5246 Make connection establishment interruptible
  • #5253 Make data node command execution interruptible
  • #5262 Extend enabling compression on a continuous aggregrate with 'compress_segmentby' and 'compress_orderby' parameters

Bugfixes

  • #5214 Fix use of prepared statement in async module
  • #5218 Add role-level security to job error log
  • #5239 Fix next_start calculation for fixed schedules
  • #5290 Fix enabling compression on continuous aggregates with columns requiring quotation

Thanks

  • @henriquegelio for reporting the issue on fixed schedules

2.9.3

1 year ago

This release contains bug fixes since the 2.9.2 release and a fix for a security vulnerability (#5259).

You can check the security advisory for more information on the vulnerability and the platforms that are affected.

This release is high priority for upgrade. We strongly recommend that you upgrade as soon as possible.

Bugfixes

  • #4804 Skip bucketing when start or end of refresh job is null
  • #5108 Fix column ordering in compressed table index not following the order of a multi-column segment by definition
  • #5187 Don't enable clang-tidy by default
  • #5255 Fix year not being considered as a multiple of day/month in hierarchical continuous aggregates
  • #5259 Lock down search_path in SPI calls

Thanks

  • @ssmoss for reporting issues on continuous aggregates
  • @jaskij for reporting the compliation issue that occurred with clang

2.9.2

1 year ago

This release contains bug fixes since the 2.9.1 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #5114 Fix issue with deleting data node and dropping the database on multi-node
  • #5133 Fix creating a CAgg on a CAgg where the time column is in a different order of the original hypertable
  • #5152 Fix adding column with NULL constraint to compressed hypertable
  • #5170 Fix CAgg on CAgg variable bucket size validation
  • #5180 Fix default data node availability status on multi-node
  • #5181 Fix ChunkAppend and ConstraintAwareAppend with TidRangeScan child subplan
  • #5193 Fix repartition behavior when attaching data node on multi-node

2.9.1

1 year ago

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

Bugfixes

  • #5072 Fix CAgg on CAgg bucket size validation
  • #5101 Fix enabling compression on caggs with renamed columns
  • #5106 Fix building against PG15 on Windows
  • #5117 Fix postgres server restart on background worker exit
  • #5121 Fix privileges for job_errors in update script

2.9.0

1 year ago

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 datanode

Bugfixes

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

1 year ago

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

Bugfixes

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