mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
Add support for continuous aggregates for distributed hypertables by allowing a continuous aggregate to read from a distributed hypertable so that the continuous aggregate is on the access node while the hypertable data is on the data nodes. For distributed hypertables, both the hypertable and continuous aggregate invalidation log are kept on the data nodes and the refresh window is computed at refresh time on each data node. Since the continuous aggregate materialization hypertable is not present on the data nodes, the invalidation log was extended to allow using a non-local hypertable id on the data nodes. This means that you cannot create continuous aggregates on the data nodes since those could clash with continuous aggregates on the access node. Some utility statements added entries to the invalidation logs directly (truncating chunks and hypertables, as well as dropping individual chunks), so to handle this case, internal functions were added to allow logging invalidation on the data nodes from the access node. The commit also includes some fixes to memory context usage that caused crashes for invalidation triggers and also disable per data node queries during refresh since that would otherwise generate an exception. Fixes #3435 Co-authored-by: Mats Kindahl <mats@timescale.com>
17 lines
608 B
SQL
17 lines
608 B
SQL
-- This file and its contents are licensed under the Timescale License.
|
|
-- Please see the included NOTICE for copyright information and
|
|
-- LICENSE-TIMESCALE for a copy of the license.
|
|
|
|
CREATE SCHEMA IF NOT EXISTS test;
|
|
GRANT USAGE ON SCHEMA test TO PUBLIC;
|
|
|
|
CREATE OR REPLACE FUNCTION test.remote_exec(srv_name name[], command text)
|
|
RETURNS VOID
|
|
AS :TSL_MODULE_PATHNAME, 'ts_remote_exec'
|
|
LANGUAGE C;
|
|
|
|
CREATE OR REPLACE FUNCTION test.remote_exec_get_result_strings(srv_name name[], command text)
|
|
RETURNS TABLE("table_record" CSTRING[])
|
|
AS :TSL_MODULE_PATHNAME, 'ts_remote_exec_get_result_strings'
|
|
LANGUAGE C;
|