mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 10:33:27 +08:00
So far, bucket_origin was defined as a Timestamp but used as a TimestampTz in many places. This commit changes this and unifies the usage of the variable.
60 lines
2.4 KiB
SQL
60 lines
2.4 KiB
SQL
DROP FUNCTION IF EXISTS _timescaledb_functions.remove_dropped_chunk_metadata(INTEGER);
|
|
|
|
--
|
|
-- Rebuild the catalog table `_timescaledb_catalog.continuous_aggs_bucket_function`
|
|
--
|
|
CREATE TABLE _timescaledb_catalog._tmp_continuous_aggs_bucket_function AS
|
|
SELECT
|
|
mat_hypertable_id,
|
|
CASE WHEN bucket_func::text like 'timescaledb_experimental%' THEN true ELSE false END,
|
|
split_part(bucket_func::regproc::text, '.', 2),
|
|
bucket_width,
|
|
bucket_origin,
|
|
bucket_timezone
|
|
FROM
|
|
_timescaledb_catalog.continuous_aggs_bucket_function
|
|
ORDER BY
|
|
mat_hypertable_id;
|
|
|
|
ALTER EXTENSION timescaledb
|
|
DROP TABLE _timescaledb_catalog.continuous_aggs_bucket_function;
|
|
|
|
DROP TABLE _timescaledb_catalog.continuous_aggs_bucket_function;
|
|
|
|
CREATE TABLE _timescaledb_catalog.continuous_aggs_bucket_function (
|
|
mat_hypertable_id integer NOT NULL,
|
|
-- The schema of the function. Equals TRUE for "timescaledb_experimental", FALSE otherwise.
|
|
experimental bool NOT NULL,
|
|
-- Name of the bucketing function, e.g. "time_bucket" or "time_bucket_ng"
|
|
name text NOT NULL,
|
|
-- `bucket_width` argument of the function, e.g. "1 month"
|
|
bucket_width text NOT NULL,
|
|
-- `origin` argument of the function provided by the user
|
|
origin text NOT NULL,
|
|
-- `timezone` argument of the function provided by the user
|
|
timezone text NOT NULL,
|
|
-- table constraints
|
|
CONSTRAINT continuous_aggs_bucket_function_pkey PRIMARY KEY (mat_hypertable_id),
|
|
CONSTRAINT continuous_aggs_bucket_function_mat_hypertable_id_fkey FOREIGN KEY (mat_hypertable_id) REFERENCES _timescaledb_catalog.hypertable (id) ON DELETE CASCADE
|
|
);
|
|
|
|
INSERT INTO _timescaledb_catalog.continuous_aggs_bucket_function
|
|
SELECT * FROM _timescaledb_catalog._tmp_continuous_aggs_bucket_function;
|
|
|
|
DROP TABLE _timescaledb_catalog._tmp_continuous_aggs_bucket_function;
|
|
|
|
SELECT pg_catalog.pg_extension_config_dump('_timescaledb_catalog.continuous_aggs_bucket_function', '');
|
|
|
|
GRANT SELECT ON TABLE _timescaledb_catalog.continuous_aggs_bucket_function TO PUBLIC;
|
|
|
|
ANALYZE _timescaledb_catalog.continuous_aggs_bucket_function;
|
|
|
|
--
|
|
-- End rebuild the catalog table `_timescaledb_catalog.continuous_aggs_bucket_function`
|
|
--
|
|
|
|
-- Convert _timescaledb_catalog.continuous_aggs_bucket_function.origin back to Timestamp
|
|
UPDATE _timescaledb_catalog.continuous_aggs_bucket_function
|
|
SET origin = origin::timestamptz::timestamp::text
|
|
WHERE length(origin) > 1;
|