Skip to content

Commit b15ef74

Browse files
philkraramonguiu
andauthored
CHANGELOG for 2.19.0 (#7829)
## 2.19.0 (2025-03-18) This release contains performance improvements and bug fixes since the 2.18.2 release. We recommend that you upgrade at the next available opportunity. * Improved concurrency of INSERT, UPDATE and DELETE operations on the columnstore by no longer blocking DML statements during the recompression of a chunk. * Improved system performance during Continuous Aggregates refreshes by breaking them into smaller batches which reduces systems pressure and minimizes the risk of spilling to disk. * Faster and more up-to-date results for queries against Continuous Aggregates by materializing the most recent data first (vs old data first in prior versions). * Faster analytical queries with SIMD vectorization of aggregations over text columns and group by over multiple column * Enable optimizing chunk size for faster query performance on the columnstore by adding support for merging columnstore chunks to the merge_chunk API. **Deprecation warning** This is the last minor release supporting PostgreSQL 14. Starting with the minor version of TimescaleDB only Postgres 15, 16 and 17 will be supported. **Downgrading of 2.19.0** This release introduces custom bool compression, if you enable this feature via the `enable_bool_compression` and must downgrade to a previous, please use the [following script](https://github.com/timescale/timescaledb-extras/blob/master/utils/2.19.0-downgrade_new_compression_algorithms.sql) to convert the columns back to their previous state. TimescaleDB versions prior to 2.19.0 do not know how to handle this new type. **Features** * [#7586](#7586) Vectorized aggregation with grouping by a single text column. * [#7632](#7632) Optimize recompression for chunks without segmentby * [#7655](#7655) Support vectorized aggregation on Hypercore TAM * [#7669](#7669) Add support for merging compressed chunks * [#7701](#7701) Implement a custom compression algorithm for bool columns. It is experimental and can undergo backwards-incompatible changes. For testing, enable it using timescaledb.enable_bool_compression = on. * [#7707](#7707) Support ALTER COLUMN SET NOT NULL on compressed chunks * [#7765](#7765) Allow tsdb as alias for timescaledb in WITH and SET clauses * [#7786](#7786) Show warning for inefficient compress_chunk_time_interval configuration * [#7788](#7788) Add callback to mem_guard for background workers * [#7789](#7789) Do not recompress segmentwise when default order by is empty * [#7790](#7790) Add configurable Incremental CAgg Refresh Policy **Bugfixes** * [#7665](#7665) Block merging of frozen chunks * [#7673](#7673) Don't abort additional INSERTs when hitting first conflict * [#7714](#7714) Fixes a wrong result when compressed NULL values were confused with default values. This happened in very special circumstances with alter table added a new column with a default value, an update and compression in a very particular order. * [#7747](#7747) Block TAM rewrites with incompatible GUC setting * [#7748](#7748) Crash in the segmentwise recompression * [#7764](#7764) Fix compression settings handling in Hypercore TAM * [#7768](#7768) Remove costing index scan of hypertable parent * [#7799](#7799) Handle DEFAULT table access name in ALTER TABLE **GUCs** * `enable_bool_compression`: enable the BOOL compression algorithm, default: `OFF` * `enable_exclusive_locking_recompression`: enable exclusive locking during recompression (legacy mode), default: `OFF` **Thanks** * @bjornuppeke for reporting a problem with INSERT INTO ... ON CONFLICT DO NOTHING on compressed chunks * @kav23alex for reporting a segmentation fault on ALTER TABLE with DEFAULT --------- Signed-off-by: Philip Krauss <[email protected]> Signed-off-by: Ramon Guiu <[email protected]> Co-authored-by: Ramon Guiu <[email protected]>
1 parent 966bf29 commit b15ef74

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

CHANGELOG.md

+49
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,55 @@
44
`psql` with the `-X` flag to prevent any `.psqlrc` commands from
55
accidentally triggering the load of a previous DB version.**
66

7+
## 2.19.0 (2025-03-18)
8+
9+
This release contains performance improvements and bug fixes since the 2.18.2 release. We recommend that you upgrade at the next available opportunity.
10+
**Highlights of the v2.19.0 release**
11+
* Improved concurrency of INSERT, UPDATE and DELETE operations on the columnstore by no longer blocking DML statements during the recompression of a chunk.
12+
* Improved system performance during Continuous Aggregates refreshes by breaking them into smaller batches which reduces systems pressure and minimizes the risk of spilling to disk.
13+
* Faster and more up-to-date results for queries against Continuous Aggregates by materializing the most recent data first (vs old data first in prior versions).
14+
* Faster analytical queries with SIMD vectorization of aggregations over text columns and group by over multiple columns.
15+
* Enable optimizing chunk size for faster query performance on the columnstore by adding support for merging columnstore chunks to the `merge_chunk` API.
16+
17+
**Deprecation warning**
18+
19+
This is the last minor release supporting PostgreSQL 14. Starting with the minor version of TimescaleDB only Postgres 15, 16 and 17 will be supported.
20+
21+
**Downgrading from 2.19.0**
22+
23+
This release introduces custom bool compression, if you enable this feature via the `enable_bool_compression` and must downgrade to a previous, please use the [following script](https://github.com/timescale/timescaledb-extras/blob/master/utils/2.19.0-downgrade_new_compression_algorithms.sql) to convert the columns back to their previous state. TimescaleDB versions prior to 2.19.0 do not know how to handle this new type.
24+
25+
**Features**
26+
* [#7586](https://github.com/timescale/timescaledb/pull/7586) Vectorized aggregation with grouping by a single text column.
27+
* [#7632](https://github.com/timescale/timescaledb/pull/7632) Optimize recompression for chunks without segmentby
28+
* [#7655](https://github.com/timescale/timescaledb/pull/7655) Support vectorized aggregation on Hypercore TAM
29+
* [#7669](https://github.com/timescale/timescaledb/pull/7669) Add support for merging compressed chunks
30+
* [#7701](https://github.com/timescale/timescaledb/pull/7701) Implement a custom compression algorithm for bool columns. It is experimental and can undergo backwards-incompatible changes. For testing, enable it using timescaledb.enable_bool_compression = on.
31+
* [#7707](https://github.com/timescale/timescaledb/pull/7707) Support ALTER COLUMN SET NOT NULL on compressed chunks
32+
* [#7765](https://github.com/timescale/timescaledb/pull/7765) Allow tsdb as alias for timescaledb in WITH and SET clauses
33+
* [#7786](https://github.com/timescale/timescaledb/pull/7786) Show warning for inefficient compress_chunk_time_interval configuration
34+
* [#7788](https://github.com/timescale/timescaledb/pull/7788) Add callback to mem_guard for background workers
35+
* [#7789](https://github.com/timescale/timescaledb/pull/7789) Do not recompress segmentwise when default order by is empty
36+
* [#7790](https://github.com/timescale/timescaledb/pull/7790) Add configurable Incremental CAgg Refresh Policy
37+
38+
**Bugfixes**
39+
* [#7665](https://github.com/timescale/timescaledb/pull/7665) Block merging of frozen chunks
40+
* [#7673](https://github.com/timescale/timescaledb/pull/7673) Don't abort additional INSERTs when hitting first conflict
41+
* [#7714](https://github.com/timescale/timescaledb/pull/7714) Fixes a wrong result when compressed NULL values were confused with default values. This happened in very special circumstances with alter table added a new column with a default value, an update and compression in a very particular order.
42+
* [#7747](https://github.com/timescale/timescaledb/pull/7747) Block TAM rewrites with incompatible GUC setting
43+
* [#7748](https://github.com/timescale/timescaledb/pull/7748) Crash in the segmentwise recompression
44+
* [#7764](https://github.com/timescale/timescaledb/pull/7764) Fix compression settings handling in Hypercore TAM
45+
* [#7768](https://github.com/timescale/timescaledb/pull/7768) Remove costing index scan of hypertable parent
46+
* [#7799](https://github.com/timescale/timescaledb/pull/7799) Handle DEFAULT table access name in ALTER TABLE
47+
48+
**GUCs**
49+
* enable_bool_compression: enable the BOOL compression algorithm, default: OFF
50+
* `enable_exclusive_locking_recompression`: enable exclusive locking during recompression (legacy mode), default: `OFF`
51+
52+
**Thanks**
53+
* @bjornuppeke for reporting a problem with INSERT INTO ... ON CONFLICT DO NOTHING on compressed chunks
54+
* @kav23alex for reporting a segmentation fault on ALTER TABLE with DEFAULT
55+
756
## 2.18.2 (2025-02-19)
857

958
This release contains performance improvements and bug fixes since

0 commit comments

Comments
 (0)