-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This release contains performance improvements and bug fixes since the 2.17.2 release. We recommend that you upgrade at the next available opportunity. **Features** * timescale#6901 Add hypertable support for transition tables * timescale#7104 Hypercore table access method * timescale#7271 Push down ORDER BY in real time continuous aggregate queries * timescale#7295: Support ALTER TABLE SET ACCESS METHOD on hypertable. * timescale#7390 Disable custom hashagg planner code * timescale#7411 Change parameter name to enable Hypercore TAM * timescale#7412 Add GUC for hypercore_use_access_method default * timescale#7413: Add GUC for segmentwise recompression. * timescale#7443 Add Hypercore function and view aliases * timescale#7455: Support DROP NOT NULL on compressed hypertables * timescale#7486 Prevent building against postgres versions with broken ABI **Bugfixes** * timescale#7378 Remove obsolete job referencing policy_job_error_retention * timescale#7409 Update bgw job table when altering procedure * timescale#7410 "aggregated compressed column not found" error on aggregation query. * timescale#7426 Fix datetime parsing error in chunk constraint creation * timescale#7432 Verify that heap tuple is valid before using * timescale#7434 Fixes segfault when internally set the replica identity for a given chunk * timescale#7488 Emit error for transition table trigger on chunks * timescale#7514 Fix error: invalid child of chunk append **Thanks** * @bharrisau for reporting the segfault when creating chunks * @pgloader for reporting an issue an internal background job * @uasiddiqi for reporting the "aggregated compressed column not found" error.
- Loading branch information
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
-- remove obsolete job | ||
DELETE FROM _timescaledb_config.bgw_job WHERE id = 2; | ||
|
||
-- Hypercore updates | ||
CREATE FUNCTION _timescaledb_debug.is_compressed_tid(tid) RETURNS BOOL | ||
AS '@MODULE_PATHNAME@', 'ts_update_placeholder' LANGUAGE C STRICT; | ||
|
||
DROP FUNCTION IF EXISTS @[email protected]_chunk(uncompressed_chunk REGCLASS, if_not_compressed BOOLEAN, recompress BOOLEAN); | ||
|
||
CREATE FUNCTION @[email protected]_chunk( | ||
uncompressed_chunk REGCLASS, | ||
if_not_compressed BOOLEAN = true, | ||
recompress BOOLEAN = false, | ||
hypercore_use_access_method BOOL = NULL | ||
) RETURNS REGCLASS AS '@MODULE_PATHNAME@', 'ts_update_placeholder' LANGUAGE C VOLATILE; | ||
|
||
DROP FUNCTION IF EXISTS @[email protected]_compression_policy(hypertable REGCLASS, compress_after "any", if_not_exists BOOL, schedule_interval INTERVAL, initial_start TIMESTAMPTZ, timezone TEXT, compress_created_before INTERVAL); | ||
|
||
CREATE FUNCTION @[email protected]_compression_policy( | ||
hypertable REGCLASS, | ||
compress_after "any" = NULL, | ||
if_not_exists BOOL = false, | ||
schedule_interval INTERVAL = NULL, | ||
initial_start TIMESTAMPTZ = NULL, | ||
timezone TEXT = NULL, | ||
compress_created_before INTERVAL = NULL, | ||
hypercore_use_access_method BOOL = NULL | ||
) | ||
RETURNS INTEGER | ||
AS '@MODULE_PATHNAME@', 'ts_update_placeholder' | ||
LANGUAGE C VOLATILE; | ||
|
||
DROP FUNCTION IF EXISTS timescaledb_experimental.add_policies(relation REGCLASS, if_not_exists BOOL, refresh_start_offset "any", refresh_end_offset "any", compress_after "any", drop_after "any"); | ||
|
||
CREATE FUNCTION timescaledb_experimental.add_policies( | ||
relation REGCLASS, | ||
if_not_exists BOOL = false, | ||
refresh_start_offset "any" = NULL, | ||
refresh_end_offset "any" = NULL, | ||
compress_after "any" = NULL, | ||
drop_after "any" = NULL, | ||
hypercore_use_access_method BOOL = NULL) | ||
RETURNS BOOL | ||
AS '@MODULE_PATHNAME@', 'ts_update_placeholder' | ||
LANGUAGE C VOLATILE; | ||
|
||
DROP PROCEDURE IF EXISTS _timescaledb_functions.policy_compression_execute(job_id INTEGER, htid INTEGER, lag ANYELEMENT, maxchunks INTEGER, verbose_log BOOLEAN, recompress_enabled BOOLEAN, use_creation_time BOOLEAN); | ||
|
||
DROP PROCEDURE IF EXISTS _timescaledb_functions.policy_compression(job_id INTEGER, config JSONB); | ||
|
||
CREATE PROCEDURE @[email protected]_to_columnstore( | ||
chunk REGCLASS, | ||
if_not_columnstore BOOLEAN = true, | ||
recompress BOOLEAN = false, | ||
hypercore_use_access_method BOOL = NULL) | ||
AS '@MODULE_PATHNAME@', 'ts_update_placeholder' | ||
LANGUAGE C; | ||
|
||
CREATE PROCEDURE @[email protected]_to_rowstore( | ||
chunk REGCLASS, | ||
if_columnstore BOOLEAN = true) | ||
AS '@MODULE_PATHNAME@', 'ts_update_placeholder' | ||
LANGUAGE C; | ||
|
||
CREATE PROCEDURE @[email protected]_columnstore_policy( | ||
hypertable REGCLASS, | ||
after "any" = NULL, | ||
if_not_exists BOOL = false, | ||
schedule_interval INTERVAL = NULL, | ||
initial_start TIMESTAMPTZ = NULL, | ||
timezone TEXT = NULL, | ||
created_before INTERVAL = NULL, | ||
hypercore_use_access_method BOOL = NULL | ||
) LANGUAGE C AS '@MODULE_PATHNAME@', 'ts_update_placeholder'; | ||
|
||
CREATE PROCEDURE @[email protected]_columnstore_policy( | ||
hypertable REGCLASS, | ||
if_exists BOOL = false | ||
) LANGUAGE C AS '@MODULE_PATHNAME@', 'ts_update_placeholder'; | ||
|
||
CREATE FUNCTION @[email protected]_columnstore_stats (hypertable REGCLASS) | ||
RETURNS TABLE ( | ||
chunk_schema name, | ||
chunk_name name, | ||
compression_status text, | ||
before_compression_table_bytes bigint, | ||
before_compression_index_bytes bigint, | ||
before_compression_toast_bytes bigint, | ||
before_compression_total_bytes bigint, | ||
after_compression_table_bytes bigint, | ||
after_compression_index_bytes bigint, | ||
after_compression_toast_bytes bigint, | ||
after_compression_total_bytes bigint, | ||
node_name name) | ||
LANGUAGE SQL | ||
STABLE STRICT | ||
AS 'SELECT * FROM @[email protected]_compression_stats($1)' | ||
SET search_path TO pg_catalog, pg_temp; | ||
|
||
CREATE FUNCTION @[email protected]_columnstore_stats (hypertable REGCLASS) | ||
RETURNS TABLE ( | ||
total_chunks bigint, | ||
number_compressed_chunks bigint, | ||
before_compression_table_bytes bigint, | ||
before_compression_index_bytes bigint, | ||
before_compression_toast_bytes bigint, | ||
before_compression_total_bytes bigint, | ||
after_compression_table_bytes bigint, | ||
after_compression_index_bytes bigint, | ||
after_compression_toast_bytes bigint, | ||
after_compression_total_bytes bigint, | ||
node_name name) | ||
LANGUAGE SQL | ||
STABLE STRICT | ||
AS 'SELECT * FROM @[email protected]_compression_stats($1)' | ||
SET search_path TO pg_catalog, pg_temp; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
-- Hypercore AM | ||
DROP ACCESS METHOD IF EXISTS hypercore_proxy; | ||
DROP FUNCTION IF EXISTS ts_hypercore_proxy_handler; | ||
DROP ACCESS METHOD IF EXISTS hypercore; | ||
DROP FUNCTION IF EXISTS ts_hypercore_handler; | ||
DROP FUNCTION IF EXISTS _timescaledb_debug.is_compressed_tid; | ||
|
||
DROP FUNCTION IF EXISTS @[email protected]_chunk(uncompressed_chunk REGCLASS, if_not_compressed BOOLEAN, recompress BOOLEAN, hypercore_use_access_method BOOL); | ||
|
||
CREATE FUNCTION @[email protected]_chunk( | ||
uncompressed_chunk REGCLASS, | ||
if_not_compressed BOOLEAN = true, | ||
recompress BOOLEAN = false | ||
) RETURNS REGCLASS AS '@MODULE_PATHNAME@', 'ts_compress_chunk' LANGUAGE C STRICT VOLATILE; | ||
|
||
DROP FUNCTION IF EXISTS @[email protected]_compression_policy(hypertable REGCLASS, compress_after "any", if_not_exists BOOL, schedule_interval INTERVAL, initial_start TIMESTAMPTZ, timezone TEXT, compress_created_before INTERVAL, hypercore_use_access_method BOOL); | ||
|
||
CREATE FUNCTION @[email protected]_compression_policy( | ||
hypertable REGCLASS, | ||
compress_after "any" = NULL, | ||
if_not_exists BOOL = false, | ||
schedule_interval INTERVAL = NULL, | ||
initial_start TIMESTAMPTZ = NULL, | ||
timezone TEXT = NULL, | ||
compress_created_before INTERVAL = NULL | ||
) | ||
RETURNS INTEGER | ||
AS '@MODULE_PATHNAME@', 'ts_policy_compression_add' | ||
LANGUAGE C VOLATILE; | ||
|
||
DROP FUNCTION IF EXISTS timescaledb_experimental.add_policies(relation REGCLASS, if_not_exists BOOL, refresh_start_offset "any", refresh_end_offset "any", compress_after "any", drop_after "any", hypercore_use_access_method BOOL); | ||
|
||
CREATE FUNCTION timescaledb_experimental.add_policies( | ||
relation REGCLASS, | ||
if_not_exists BOOL = false, | ||
refresh_start_offset "any" = NULL, | ||
refresh_end_offset "any" = NULL, | ||
compress_after "any" = NULL, | ||
drop_after "any" = NULL) | ||
RETURNS BOOL | ||
AS '@MODULE_PATHNAME@', 'ts_policies_add' | ||
LANGUAGE C VOLATILE; | ||
|
||
DROP PROCEDURE IF EXISTS _timescaledb_functions.policy_compression_execute(job_id INTEGER, htid INTEGER, lag ANYELEMENT, maxchunks INTEGER, verbose_log BOOLEAN, recompress_enabled BOOLEAN, use_creation_time BOOLEAN, useam BOOLEAN); | ||
|
||
DROP PROCEDURE IF EXISTS _timescaledb_functions.policy_compression(job_id INTEGER, config JSONB); | ||
DROP PROCEDURE IF EXISTS @[email protected]_to_columnstore(REGCLASS, BOOLEAN, BOOLEAN, BOOLEAN); | ||
DROP PROCEDURE IF EXISTS @[email protected]_to_rowstore(REGCLASS, BOOLEAN); | ||
DROP PROCEDURE IF EXISTS @[email protected]_columnstore_policy(REGCLASS, "any", BOOL, INTERVAL, TIMESTAMPTZ, TEXT, INTERVAL, BOOL); | ||
DROP PROCEDURE IF EXISTS @[email protected]_columnstore_policy(REGCLASS, BOOL); | ||
DROP FUNCTION IF EXISTS @[email protected]_columnstore_stats(REGCLASS); | ||
DROP FUNCTION IF EXISTS @[email protected]_columnstore_stats(REGCLASS); | ||
|
||
ALTER EXTENSION timescaledb DROP VIEW timescaledb_information.hypertable_columnstore_settings; | ||
ALTER EXTENSION timescaledb DROP VIEW timescaledb_information.chunk_columnstore_settings; | ||
|
||
DROP VIEW timescaledb_information.hypertable_columnstore_settings; | ||
DROP VIEW timescaledb_information.chunk_columnstore_settings; | ||
|