Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use segmentwise recompression in compress policy #6343

Merged
merged 1 commit into from Nov 23, 2023

Conversation

antekresic
Copy link
Contributor

Change compression policy to use segmentwise
recompression when possible to increase performance. Segmentwise recompression decompresses rows into memory, thus reducing IO load when recompressing, making it much faster for bigger chunks.

Fixes #6255

@antekresic antekresic added compression bgw The background worker subsystem, including the scheduler labels Nov 23, 2023
@antekresic antekresic self-assigned this Nov 23, 2023
Copy link

codecov bot commented Nov 23, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (8b3227a) 87.03% compared to head (0935e21) 82.46%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6343      +/-   ##
==========================================
- Coverage   87.03%   82.46%   -4.57%     
==========================================
  Files         249      249              
  Lines       57924    57924              
  Branches    12894    12892       -2     
==========================================
- Hits        50413    47767    -2646     
- Misses       5133     6732    +1599     
- Partials     2378     3425    +1047     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

sql/policy_internal.sql Outdated Show resolved Hide resolved
@antekresic antekresic force-pushed the add-segmentwise branch 2 times, most recently from 8ba56d1 to 520d453 Compare November 23, 2023 10:14
@@ -572,7 +572,7 @@ FROM _timescaledb_config.bgw_job WHERE id = :job_id_5;

--verify that job is dropped when cagg is dropped
DROP MATERIALIZED VIEW conditions_summary_daily;
NOTICE: drop cascades to table _timescaledb_internal._hyper_3_10_chunk
NOTICE: drop cascades to table _timescaledb_internal._hyper_3_7_chunk
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is changed because segmentwise recompression does not recreate compressed chunk thus reducing the number of new chunks created.

@antekresic antekresic force-pushed the add-segmentwise branch 2 times, most recently from d3788df to 98ff4a9 Compare November 23, 2023 11:10
Change compression policy to use segmentwise
recompression when possible to increase performance.
Segmentwise recompression decompresses rows into memory,
thus reducing IO load when recompressing, making it
much faster for bigger chunks.
@antekresic antekresic enabled auto-merge (rebase) November 23, 2023 11:16
@antekresic antekresic merged commit 8745063 into timescale:main Nov 23, 2023
42 checks passed
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 23, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**

TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

**Starting from TimescaleDB 2.13.0:**

* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**

TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

**Starting from TimescaleDB 2.13.0:**

* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**

TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0:**

* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0:**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
@jnidzwetzki jnidzwetzki mentioned this pull request Nov 27, 2023
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* #5575 Add chunk-wise sorted paths for compressed chunks
* #5761 Simplify hypertable DDL API
* #5890 Reduce WAL activity by freezing compressed tuples immediately
* #6050 Vectorized aggregation execution for sum()
* #6062 Add metadata for chunk creation time
* #6077 Make Continous Aggregates materialized only (non-realtime) by default
* #6177 Change show_chunks/drop_chunks using chunk creation time
* #6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* #6185 Keep track of catalog version
* #6227 Use creation time in retention/compression policy
* #6307 Add SQL function cagg_validate_query

**Bugfixes**
* #6188 Add GUC for setting background worker log level
* #6222 Allow enabling compression on hypertable with unique expression index
* #6240 Check if worker registration succeeded
* #6254 Fix exception detail passing in compression_policy_execute
* #6264 Fix missing bms_del_member result assignment
* #6275 Fix negative bitmapset member not allowed in compression
* #6280 Potential data loss when compressing a table with a partial index that matches compression order.
* #6289 Add support for startup chunk exclusion with aggs
* #6290 Repair relacl on upgrade
* #6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* #6305 Make timescaledb_functions.makeaclitem strict
* #6332 Fix typmod and collation for segmentby columns
* #6339 Fix tablespace with constraints
* #6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit to jnidzwetzki/timescaledb that referenced this pull request Nov 27, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* timescale#5575 Add chunk-wise sorted paths for compressed chunks
* timescale#5761 Simplify hypertable DDL API
* timescale#5890 Reduce WAL activity by freezing compressed tuples immediately
* timescale#6050 Vectorized aggregation execution for sum()
* timescale#6062 Add metadata for chunk creation time
* timescale#6077 Make Continous Aggregates materialized only (non-realtime) by default
* timescale#6177 Change show_chunks/drop_chunks using chunk creation time
* timescale#6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* timescale#6185 Keep track of catalog version
* timescale#6227 Use creation time in retention/compression policy
* timescale#6307 Add SQL function cagg_validate_query

**Bugfixes**
* timescale#6188 Add GUC for setting background worker log level
* timescale#6222 Allow enabling compression on hypertable with unique expression index
* timescale#6240 Check if worker registration succeeded
* timescale#6254 Fix exception detail passing in compression_policy_execute
* timescale#6264 Fix missing bms_del_member result assignment
* timescale#6275 Fix negative bitmapset member not allowed in compression
* timescale#6280 Potential data loss when compressing a table with a partial index that matches compression order.
* timescale#6289 Add support for startup chunk exclusion with aggs
* timescale#6290 Repair relacl on upgrade
* timescale#6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* timescale#6305 Make timescaledb_functions.makeaclitem strict
* timescale#6332 Fix typmod and collation for segmentby columns
* timescale#6339 Fix tablespace with constraints
* timescale#6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
jnidzwetzki added a commit that referenced this pull request Nov 28, 2023
This release contains performance improvements, an improved hypertable DDL API
and bug fixes since the 2.12.2 release. We recommend that you upgrade at the next
available opportunity.

In addition, it includes these noteworthy features:

* Full PostgreSQL 16 support for all existing features
* Vectorized aggregation execution for sum()
* Track chunk creation time used in retention/compression policies

**Deprecation notice: Multi-node support**
TimescaleDB 2.13 is the last version that will include multi-node support. Multi-node
support in 2.13 is available for PostgreSQL 13, 14 and 15. Learn more about it
[here](docs/MultiNodeDeprecation.md).

If you want to migrate from multi-node TimescaleDB to single-node TimescaleDB read the
[migration documentation](https://docs.timescale.com/migrate/latest/multi-node-to-timescale-service/).

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

**Starting from TimescaleDB 2.13.0**
* No Amazon Machine Images (AMI) are published. If you previously used AMI, please
use another [installation method](https://docs.timescale.com/self-hosted/latest/install/)
* Continuous Aggregates are materialized only (non-realtime) by default

**Features**
* #5575 Add chunk-wise sorted paths for compressed chunks
* #5761 Simplify hypertable DDL API
* #5890 Reduce WAL activity by freezing compressed tuples immediately
* #6050 Vectorized aggregation execution for sum()
* #6062 Add metadata for chunk creation time
* #6077 Make Continous Aggregates materialized only (non-realtime) by default
* #6177 Change show_chunks/drop_chunks using chunk creation time
* #6178 Show batches/tuples decompressed during DML operations in EXPLAIN output
* #6185 Keep track of catalog version
* #6227 Use creation time in retention/compression policy
* #6307 Add SQL function cagg_validate_query

**Bugfixes**
* #6188 Add GUC for setting background worker log level
* #6222 Allow enabling compression on hypertable with unique expression index
* #6240 Check if worker registration succeeded
* #6254 Fix exception detail passing in compression_policy_execute
* #6264 Fix missing bms_del_member result assignment
* #6275 Fix negative bitmapset member not allowed in compression
* #6280 Potential data loss when compressing a table with a partial index that matches compression order.
* #6289 Add support for startup chunk exclusion with aggs
* #6290 Repair relacl on upgrade
* #6297 Fix segfault when creating a cagg using a NULL width in time bucket function
* #6305 Make timescaledb_functions.makeaclitem strict
* #6332 Fix typmod and collation for segmentby columns
* #6339 Fix tablespace with constraints
* #6343 Enable segmentwise recompression in compression policy

**Thanks**
* @fetchezar for reporting an issue with compression policy error messages
* @jflambert for reporting the background worker log level issue
* @torazem for reporting an issue with compression and large oids
* @fetchezar for reporting an issue in the compression policy
* @lyp-bobi for reporting an issue with tablespace with constraints
* @pdipesh02 for contributing to the implementation of the metadata for chunk creation time,
             the generalized hypertable API, and show_chunks/drop_chunks using chunk creation time
* @lkshminarayanan for all his work on PG16 support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backported-2.13.x bgw The background worker subsystem, including the scheduler compression
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Compressed chunks getting inflated after upgrading to 2.12.2
4 participants