Filter out chunk and hypertable ids from test output

Currently any tests in regresscheck-shared can only include
EXPLAIN output if they only access the precreated hypertables
as hypertables and chunks created in the test itself will
have ids depending on execution order of the shared tests.
This patch filters out those ids so shared tests can include
EXPLAIN output for local hypertables.
This commit is contained in:
Sven Klemm 2021-06-16 18:57:53 +02:00 committed by Sven Klemm
parent 38e6c0aee5
commit 1b08f11297
10 changed files with 5672 additions and 5672 deletions

View File

@ -73,4 +73,4 @@ ${PSQL} -U ${TEST_PGUSER} \
-v ROLE_DEFAULT_PERM_USER_2=${TEST_ROLE_DEFAULT_PERM_USER_2} \
-v MODULE_PATHNAME="'timescaledb-${EXT_VERSION}'" \
-v TSL_MODULE_PATHNAME="'timescaledb-tsl-${EXT_VERSION}'" \
$@ -d ${TEST_DBNAME} 2>&1 | sed -e '/<exclude_from_test>/,/<\/exclude_from_test>/d' -e 's! Memory: [0-9]\{1,\}kB!!' -e 's! Memory Usage: [0-9]\{1,\}kB!!' -e 's! Average Peak Memory: [0-9]\{1,\}kB!!'
$@ -d ${TEST_DBNAME} 2>&1 | sed -e '/<exclude_from_test>/,/<\/exclude_from_test>/d' -e 's!_[0-9]\{1,\}_[0-9]\{1,\}_chunk!_X_X_chunk!g' -e 's! Memory: [0-9]\{1,\}kB!!' -e 's! Memory Usage: [0-9]\{1,\}kB!!' -e 's! Average Peak Memory: [0-9]\{1,\}kB!!'

View File

@ -13,9 +13,9 @@ FROM metrics;
QUERY PLAN
------------------------------------
Append
-> Seq Scan on _hyper_1_1_chunk
-> Seq Scan on _hyper_1_2_chunk
-> Seq Scan on _hyper_1_3_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(4 rows)
-- all of these should have all chunk exclusion happening at plan time
@ -25,7 +25,7 @@ FROM metrics
WHERE time < '2000-01-01'::timestamptz - '6h'::interval;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
(2 rows)
@ -35,7 +35,7 @@ FROM metrics
WHERE time < '2000-01-01'::timestamptz + '6h'::interval;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval))
(2 rows)
@ -45,7 +45,7 @@ FROM metrics
WHERE time < '6h'::interval + '2000-01-01'::timestamptz;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval))
(2 rows)
@ -55,7 +55,7 @@ FROM metrics
WHERE time < '2000-01-07'::timestamptz - '7 day 8 seconds'::interval;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Fri Jan 07 00:00:00 2000 PST'::timestamp with time zone - '@ 7 days 8 secs'::interval))
(2 rows)
@ -65,7 +65,7 @@ FROM metrics
WHERE time < '2000-03-01'::timestamptz - '60 day'::interval;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Wed Mar 01 00:00:00 2000 PST'::timestamp with time zone - '@ 60 days'::interval))
(2 rows)
@ -76,7 +76,7 @@ FROM metrics
WHERE '2000-01-01'::timestamptz - '6h'::interval > time;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
(2 rows)
@ -86,7 +86,7 @@ FROM metrics
WHERE '2000-01-07'::timestamptz - '7 day'::interval > time;
QUERY PLAN
------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Fri Jan 07 00:00:00 2000 PST'::timestamp with time zone - '@ 7 days'::interval))
(2 rows)
@ -96,7 +96,7 @@ FROM metrics
WHERE '2000-03-01'::timestamptz - '60 day'::interval > time;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Wed Mar 01 00:00:00 2000 PST'::timestamp with time zone - '@ 60 days'::interval))
(2 rows)
@ -108,7 +108,7 @@ WHERE time > '2000-01-10'::timestamptz - '6h'::interval
AND time < '2000-01-10'::timestamptz + '6h'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: (("time" > ('Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) AND ("time" < ('Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval)))
(2 rows)
@ -120,7 +120,7 @@ WHERE time < '2000-01-01'::timestamptz - '6h'::interval
AND device_id = 1;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Index Scan using _hyper_2_4_chunk_metrics_space_time_idx on _hyper_2_4_chunk
Index Scan using _hyper_X_X_chunk_metrics_space_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
Filter: (device_id = 1)
(3 rows)
@ -132,9 +132,9 @@ FROM metrics_compressed
WHERE time < '2000-01-01'::timestamptz - '6h'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
Custom Scan (DecompressChunk) on _hyper_3_13_chunk
Custom Scan (DecompressChunk) on _hyper_X_X_chunk
Filter: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
-> Seq Scan on compress_hyper_4_18_chunk
-> Seq Scan on compress_hyper_X_X_chunk
Filter: (_ts_meta_min_1 < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
(4 rows)
@ -146,9 +146,9 @@ WHERE time < '2000-01-01'::timestamptz - '6h'::interval
AND device_id = 1;
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (DecompressChunk) on _hyper_5_19_chunk
Custom Scan (DecompressChunk) on _hyper_X_X_chunk
Filter: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))
-> Seq Scan on compress_hyper_6_36_chunk
-> Seq Scan on compress_hyper_X_X_chunk
Filter: ((device_id = 1) AND (_ts_meta_min_1 < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)))
(4 rows)
@ -160,11 +160,11 @@ WHERE time < '2000-02-01'::timestamptz - '1 month'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval))
(7 rows)
@ -175,11 +175,11 @@ WHERE time < '2000-02-01'::timestamptz - '1 month - 1 day'::interval;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval))
(7 rows)
@ -190,11 +190,11 @@ WHERE time < '2000-02-01'::timestamptz - '1 month + 1 day'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval))
(7 rows)
@ -205,11 +205,11 @@ WHERE '2000-02-01'::timestamptz - '1 year'::interval > time;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval))
(7 rows)
@ -221,11 +221,11 @@ WHERE time < '1 day' + '2000-02-01'::timestamptz - '1 month'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval))
(7 rows)
@ -237,11 +237,11 @@ WHERE time > now() - '6h'::interval;
QUERY PLAN
-----------------------------------------------------------------------------------
Append
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" > (now() - '@ 6 hours'::interval))
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" > (now() - '@ 6 hours'::interval))
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk
-> Index Only Scan using _hyper_X_X_chunk_metrics_time_idx on _hyper_X_X_chunk
Index Cond: ("time" > (now() - '@ 6 hours'::interval))
(7 rows)

File diff suppressed because it is too large Load Diff

View File

@ -39,17 +39,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
(23 rows)
@ -74,17 +74,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: (metrics_dist_1.device_id * metrics_dist_1.v1)
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT device_id, v1 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY (device_id * v1) ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: (metrics_dist_2.device_id * metrics_dist_2.v1)
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT device_id, v1 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY (device_id * v1) ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: (metrics_dist_3.device_id * metrics_dist_3.v1)
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT device_id, v1 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY (device_id * v1) ASC NULLS LAST
(23 rows)
@ -108,80 +108,80 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_37_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk.device_id
-> Index Only Scan using _dist_hyper_7_37_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk.device_id
Index Cond: (_dist_hyper_7_37_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk.device_id
-> Index Only Scan using _dist_hyper_7_40_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk.device_id
Index Cond: (_dist_hyper_7_40_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk.device_id
-> Index Only Scan using _dist_hyper_7_43_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk.device_id
Index Cond: (_dist_hyper_7_43_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_38_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_38_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk.device_id
-> Index Only Scan using _dist_hyper_7_38_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk.device_id
Index Cond: (_dist_hyper_7_38_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk.device_id
-> Index Only Scan using _dist_hyper_7_41_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk.device_id
Index Cond: (_dist_hyper_7_41_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk.device_id
-> Index Only Scan using _dist_hyper_7_44_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk.device_id
Index Cond: (_dist_hyper_7_44_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_39_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk.device_id
-> Index Only Scan using _dist_hyper_7_39_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk.device_id
Index Cond: (_dist_hyper_7_39_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk.device_id
-> Index Only Scan using _dist_hyper_7_42_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk.device_id
Index Cond: (_dist_hyper_7_42_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk.device_id
-> Index Only Scan using _dist_hyper_7_45_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk.device_id
Index Cond: (_dist_hyper_7_45_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
(86 rows)
@ -204,80 +204,80 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, NULL::text, 'const1'::text
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_37_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk.device_id
-> Index Only Scan using _dist_hyper_7_37_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk.device_id
Index Cond: (_dist_hyper_7_37_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk.device_id
-> Index Only Scan using _dist_hyper_7_40_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk.device_id
Index Cond: (_dist_hyper_7_40_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk.device_id
-> Index Only Scan using _dist_hyper_7_43_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk.device_id
Index Cond: (_dist_hyper_7_43_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, NULL::text, 'const1'::text
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_38_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_38_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk.device_id
-> Index Only Scan using _dist_hyper_7_38_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk.device_id
Index Cond: (_dist_hyper_7_38_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk.device_id
-> Index Only Scan using _dist_hyper_7_41_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk.device_id
Index Cond: (_dist_hyper_7_41_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk.device_id
-> Index Only Scan using _dist_hyper_7_44_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk.device_id
Index Cond: (_dist_hyper_7_44_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, NULL::text, 'const1'::text
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_39_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk.device_id
-> Index Only Scan using _dist_hyper_7_39_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk.device_id
Index Cond: (_dist_hyper_7_39_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk.device_id
-> Index Only Scan using _dist_hyper_7_42_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk.device_id
Index Cond: (_dist_hyper_7_42_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk.device_id
-> Index Only Scan using _dist_hyper_7_45_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk.device_id
Index Cond: (_dist_hyper_7_45_chunk.device_id > NULL::integer)
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
(86 rows)
@ -300,60 +300,60 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, metrics_dist_1."time", NULL::text, 'const1'::text
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Sort Key: _dist_hyper_7_37_chunk.device_id, _dist_hyper_7_37_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk."time", _dist_hyper_7_40_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk."time", _dist_hyper_7_43_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, metrics_dist_2."time", NULL::text, 'const1'::text
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Sort
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Sort Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> HashAggregate
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Group Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Group Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk."time", _dist_hyper_7_41_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk."time", _dist_hyper_7_44_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, metrics_dist_3."time", NULL::text, 'const1'::text
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Sort Key: _dist_hyper_7_39_chunk.device_id, _dist_hyper_7_39_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk."time", _dist_hyper_7_42_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk."time", _dist_hyper_7_45_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
(66 rows)
@ -376,60 +376,60 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, metrics_dist_1."time"
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Sort Key: _dist_hyper_7_37_chunk.device_id, _dist_hyper_7_37_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk."time", _dist_hyper_7_40_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk."time", _dist_hyper_7_43_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, metrics_dist_2."time"
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Sort
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Sort Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> HashAggregate
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Group Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Group Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk."time", _dist_hyper_7_41_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk."time", _dist_hyper_7_44_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, metrics_dist_3."time"
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Sort Key: _dist_hyper_7_39_chunk.device_id, _dist_hyper_7_39_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk."time", _dist_hyper_7_42_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk."time", _dist_hyper_7_45_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
(66 rows)
@ -452,59 +452,59 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, metrics_dist_1."time"
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id, "time") "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Sort Key: _dist_hyper_7_37_chunk.device_id, _dist_hyper_7_37_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk."time", _dist_hyper_7_40_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk."time", _dist_hyper_7_43_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, metrics_dist_2."time"
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id, "time") "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Sort Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk."time", _dist_hyper_7_41_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk."time", _dist_hyper_7_44_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, metrics_dist_3."time"
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id, "time") "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Sort Key: _dist_hyper_7_39_chunk.device_id, _dist_hyper_7_39_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk."time", _dist_hyper_7_42_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk."time", _dist_hyper_7_45_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
(65 rows)
@ -529,59 +529,59 @@ LIMIT 10) a;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, metrics_dist_1."time"
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
Sort Key: _dist_hyper_7_37_chunk.device_id, _dist_hyper_7_37_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk."time", _dist_hyper_7_37_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk."time", _dist_hyper_7_40_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk."time", _dist_hyper_7_43_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, metrics_dist_2."time"
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
Sort Key: _dist_hyper_7_38_chunk.device_id, _dist_hyper_7_38_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk."time", _dist_hyper_7_38_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk."time", _dist_hyper_7_41_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk."time", _dist_hyper_7_44_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, metrics_dist_3."time"
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Sort
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
Sort Key: _dist_hyper_7_39_chunk.device_id, _dist_hyper_7_39_chunk."time"
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id, _dist_hyper_X_X_chunk."time"
-> Append
-> Seq Scan on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk."time", _dist_hyper_7_39_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk."time", _dist_hyper_7_42_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk."time", _dist_hyper_7_45_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
-> Seq Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk."time", _dist_hyper_X_X_chunk.device_id
(67 rows)
@ -595,127 +595,127 @@ LIMIT 10;
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit
Output: _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Unique
Output: _dist_hyper_7_37_chunk.device_id
Output: _dist_hyper_X_X_chunk.device_id
-> Merge Append
Sort Key: _dist_hyper_7_37_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_37_chunk
Output: _dist_hyper_7_37_chunk.device_id
Sort Key: _dist_hyper_X_X_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_1
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_37_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_37_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_37_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_37_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_37_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_38_chunk
Output: _dist_hyper_7_38_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_2
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_38_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_38_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_38_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_38_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_38_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_39_chunk
Output: _dist_hyper_7_39_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_3
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_39_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_39_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_39_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_39_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_39_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_40_chunk
Output: _dist_hyper_7_40_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_1
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_40_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_40_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_40_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_40_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_40_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_41_chunk
Output: _dist_hyper_7_41_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_2
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_41_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_41_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_41_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_41_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_41_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_42_chunk
Output: _dist_hyper_7_42_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_3
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_42_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_42_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_42_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_42_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_42_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_43_chunk
Output: _dist_hyper_7_43_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_1
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_43_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_43_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_43_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_43_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_43_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_44_chunk
Output: _dist_hyper_7_44_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_2
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_44_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_44_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_44_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_44_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_44_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
-> Foreign Scan on _timescaledb_internal._dist_hyper_7_45_chunk
Output: _dist_hyper_7_45_chunk.device_id
-> Foreign Scan on _timescaledb_internal._dist_hyper_X_X_chunk
Output: _dist_hyper_X_X_chunk.device_id
Data node: data_node_3
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_7_45_chunk ORDER BY device_id ASC NULLS LAST
Remote SQL: SELECT DISTINCT device_id FROM _timescaledb_internal._dist_hyper_X_X_chunk ORDER BY device_id ASC NULLS LAST
Remote EXPLAIN:
Unique
Output: device_id
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_7_45_chunk
-> Custom Scan (SkipScan) on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
-> Index Only Scan using _dist_hyper_7_45_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_7_45_chunk
-> Index Only Scan using _dist_hyper_X_X_chunk_metrics_dist_device_id_time_idx on _timescaledb_internal._dist_hyper_X_X_chunk
Output: device_id
Index Cond: (_dist_hyper_7_45_chunk.device_id > NULL::integer)
Index Cond: (_dist_hyper_X_X_chunk.device_id > NULL::integer)
(123 rows)
@ -740,17 +740,17 @@ ORDER BY 1;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.device_id, metrics_dist_1.device_id
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.device_id, metrics_dist_2.device_id
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.device_id, metrics_dist_3.device_id
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT device_id FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
(24 rows)
@ -773,17 +773,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1."time", metrics_dist_1.device_id, metrics_dist_1.v0, metrics_dist_1.v1, metrics_dist_1.v2, metrics_dist_1.v3
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY "time" ASC NULLS LAST, device_id ASC NULLS LAST, v0 ASC NULLS LAST, v1 ASC NULLS LAST, v2 ASC NULLS LAST, v3 ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2."time", metrics_dist_2.device_id, metrics_dist_2.v0, metrics_dist_2.v1, metrics_dist_2.v2, metrics_dist_2.v3
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY "time" ASC NULLS LAST, device_id ASC NULLS LAST, v0 ASC NULLS LAST, v1 ASC NULLS LAST, v2 ASC NULLS LAST, v3 ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3."time", metrics_dist_3.device_id, metrics_dist_3.v0, metrics_dist_3.v1, metrics_dist_3.v2, metrics_dist_3.v3
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY "time" ASC NULLS LAST, device_id ASC NULLS LAST, v0 ASC NULLS LAST, v1 ASC NULLS LAST, v2 ASC NULLS LAST, v3 ASC NULLS LAST
(23 rows)
@ -806,17 +806,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1."time", metrics_dist_1.device_id, metrics_dist_1.v0, metrics_dist_1.v1, metrics_dist_1.v2, metrics_dist_1.v3
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2."time", metrics_dist_2.device_id, metrics_dist_2.v0, metrics_dist_2.v1, metrics_dist_2.v2, metrics_dist_2.v3
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3."time", metrics_dist_3.device_id, metrics_dist_3.v0, metrics_dist_3.v1, metrics_dist_3.v2, metrics_dist_3.v3
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT ON (device_id) "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY device_id ASC NULLS LAST, "time" ASC NULLS LAST
(23 rows)
@ -841,17 +841,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: metrics_dist_1.*
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: metrics_dist_2.*
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: metrics_dist_3.*
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT DISTINCT "time", device_id, v0, v1, v2, v3 FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
(25 rows)
@ -874,17 +874,17 @@ LIMIT 10;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: time_bucket('@ 1 hour'::interval, metrics_dist_1."time")
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT "time" FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY public.time_bucket('01:00:00'::interval, "time") ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: time_bucket('@ 1 hour'::interval, metrics_dist_2."time")
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT "time" FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY public.time_bucket('01:00:00'::interval, "time") ASC NULLS LAST
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: time_bucket('@ 1 hour'::interval, metrics_dist_3."time")
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT "time" FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3]) ORDER BY public.time_bucket('01:00:00'::interval, "time") ASC NULLS LAST
(23 rows)
@ -902,17 +902,17 @@ FROM metrics_dist;
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_1
Output: 1, 'constx'::text
Data node: data_node_1
Chunks: _dist_hyper_7_37_chunk, _dist_hyper_7_40_chunk, _dist_hyper_7_43_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT NULL FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_2
Output: 1, 'constx'::text
Data node: data_node_2
Chunks: _dist_hyper_7_38_chunk, _dist_hyper_7_41_chunk, _dist_hyper_7_44_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT NULL FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
-> Custom Scan (DataNodeScan) on public.metrics_dist metrics_dist_3
Output: 1, 'constx'::text
Data node: data_node_3
Chunks: _dist_hyper_7_39_chunk, _dist_hyper_7_42_chunk, _dist_hyper_7_45_chunk
Chunks: _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk, _dist_hyper_X_X_chunk
Remote SQL: SELECT NULL FROM public.metrics_dist WHERE _timescaledb_internal.chunks_in(public.metrics_dist.*, ARRAY[1, 2, 3])
(20 rows)

View File

@ -109,19 +109,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- test parallel query with locf
@ -136,19 +136,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- test parallel query with interpolate
@ -163,19 +163,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- make sure we can run gapfill in parallel workers
@ -195,19 +195,19 @@ LIMIT 1;
Sort Key: (interpolate(avg(value), NULL::record, NULL::record))
-> Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(18 rows)
-- actually run a parallel gapfill
@ -233,10 +233,10 @@ ORDER BY 1;
----------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (ChunkAppend) on gapfill_plan_test
Order: time_bucket_gapfill('@ 5 mins'::interval, gapfill_plan_test."time", NULL::timestamp with time zone, NULL::timestamp with time zone)
-> Index Scan Backward using _hyper_8_46_chunk_gapfill_plan_test_time_idx on _hyper_8_46_chunk
-> Index Scan Backward using _hyper_8_47_chunk_gapfill_plan_test_time_idx on _hyper_8_47_chunk
-> Index Scan Backward using _hyper_8_48_chunk_gapfill_plan_test_time_idx on _hyper_8_48_chunk
-> Index Scan Backward using _hyper_8_49_chunk_gapfill_plan_test_time_idx on _hyper_8_49_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
(6 rows)
SET max_parallel_workers_per_gather TO 0;
@ -252,10 +252,10 @@ ORDER BY 1;
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, gapfill_plan_test."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Custom Scan (ChunkAppend) on gapfill_plan_test
Order: time_bucket_gapfill('@ 5 mins'::interval, gapfill_plan_test."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Index Scan Backward using _hyper_8_46_chunk_gapfill_plan_test_time_idx on _hyper_8_46_chunk
-> Index Scan Backward using _hyper_8_47_chunk_gapfill_plan_test_time_idx on _hyper_8_47_chunk
-> Index Scan Backward using _hyper_8_48_chunk_gapfill_plan_test_time_idx on _hyper_8_48_chunk
-> Index Scan Backward using _hyper_8_49_chunk_gapfill_plan_test_time_idx on _hyper_8_49_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
(9 rows)
-- test sort optimizations with interpolate
@ -270,10 +270,10 @@ ORDER BY 1;
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, gapfill_plan_test."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Custom Scan (ChunkAppend) on gapfill_plan_test
Order: time_bucket_gapfill('@ 5 mins'::interval, gapfill_plan_test."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Index Scan Backward using _hyper_8_46_chunk_gapfill_plan_test_time_idx on _hyper_8_46_chunk
-> Index Scan Backward using _hyper_8_47_chunk_gapfill_plan_test_time_idx on _hyper_8_47_chunk
-> Index Scan Backward using _hyper_8_48_chunk_gapfill_plan_test_time_idx on _hyper_8_48_chunk
-> Index Scan Backward using _hyper_8_49_chunk_gapfill_plan_test_time_idx on _hyper_8_49_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
-> Index Scan Backward using _hyper_X_X_chunk_gapfill_plan_test_time_idx on _hyper_X_X_chunk
(9 rows)
RESET max_parallel_workers_per_gather;
@ -286,13 +286,13 @@ ORDER BY 1,2;
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone)), _hyper_8_46_chunk.value
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone)), _hyper_X_X_chunk.value
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(8 rows)
-- test sort optimization with ordering by multiple columns and time_bucket as last member,
@ -304,11 +304,11 @@ ORDER BY 2,1;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Result
-> Merge Append
Sort Key: _hyper_8_46_chunk.value, (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
-> Index Only Scan using _hyper_8_46_chunk_gapfill_plan_test_indx on _hyper_8_46_chunk
-> Index Only Scan using _hyper_8_47_chunk_gapfill_plan_test_indx on _hyper_8_47_chunk
-> Index Only Scan using _hyper_8_48_chunk_gapfill_plan_test_indx on _hyper_8_48_chunk
-> Index Only Scan using _hyper_8_49_chunk_gapfill_plan_test_indx on _hyper_8_49_chunk
Sort Key: _hyper_X_X_chunk.value, (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
-> Index Only Scan using _hyper_X_X_chunk_gapfill_plan_test_indx on _hyper_X_X_chunk
-> Index Only Scan using _hyper_X_X_chunk_gapfill_plan_test_indx on _hyper_X_X_chunk
-> Index Only Scan using _hyper_X_X_chunk_gapfill_plan_test_indx on _hyper_X_X_chunk
-> Index Only Scan using _hyper_X_X_chunk_gapfill_plan_test_indx on _hyper_X_X_chunk
(7 rows)
\set METRICS metrics_int
@ -3126,13 +3126,13 @@ GROUP BY 1;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Sort
Sort Key: (time_bucket_gapfill('@ 364 days'::interval, _hyper_1_1_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 364 days'::interval, _hyper_X_X_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone))
-> HashAggregate
Group Key: time_bucket_gapfill('@ 364 days'::interval, _hyper_1_1_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 364 days'::interval, _hyper_X_X_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone)
-> Result
-> Append
-> Seq Scan on _hyper_1_1_chunk
-> Seq Scan on _hyper_1_2_chunk
-> Seq Scan on _hyper_1_3_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(10 rows)

View File

@ -109,19 +109,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- test parallel query with locf
@ -136,19 +136,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- test parallel query with interpolate
@ -163,19 +163,19 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(15 rows)
-- make sure we can run gapfill in parallel workers
@ -195,19 +195,19 @@ LIMIT 1;
Sort Key: (interpolate(avg(gapfill_plan_test.value), NULL::record, NULL::record))
-> Custom Scan (GapFill)
-> Finalize GroupAggregate
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Group Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Gather Merge
Workers Planned: 2
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> Partial HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_47_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Parallel Append
-> Parallel Seq Scan on _hyper_8_47_chunk
-> Parallel Seq Scan on _hyper_8_48_chunk
-> Parallel Seq Scan on _hyper_8_46_chunk
-> Parallel Seq Scan on _hyper_8_49_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
-> Parallel Seq Scan on _hyper_X_X_chunk
(18 rows)
-- actually run a parallel gapfill
@ -232,13 +232,13 @@ ORDER BY 1;
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------------
Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(8 rows)
SET max_parallel_workers_per_gather TO 0;
@ -251,15 +251,15 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(11 rows)
-- test sort optimizations with interpolate
@ -271,15 +271,15 @@ ORDER BY 1;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone))
-> HashAggregate
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone, 'Wed Dec 31 16:00:00 1969 PST'::timestamp with time zone)
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(11 rows)
RESET max_parallel_workers_per_gather;
@ -292,13 +292,13 @@ ORDER BY 1,2;
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sort
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone)), _hyper_8_46_chunk.value
Sort Key: (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone)), _hyper_X_X_chunk.value
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(8 rows)
-- test sort optimization with ordering by multiple columns and time_bucket as last member,
@ -309,13 +309,13 @@ ORDER BY 2,1;
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sort
Sort Key: _hyper_8_46_chunk.value, (time_bucket_gapfill('@ 5 mins'::interval, _hyper_8_46_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
Sort Key: _hyper_X_X_chunk.value, (time_bucket_gapfill('@ 5 mins'::interval, _hyper_X_X_chunk."time", NULL::timestamp with time zone, NULL::timestamp with time zone))
-> Result
-> Append
-> Seq Scan on _hyper_8_46_chunk
-> Seq Scan on _hyper_8_47_chunk
-> Seq Scan on _hyper_8_48_chunk
-> Seq Scan on _hyper_8_49_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(8 rows)
\set METRICS metrics_int
@ -3133,13 +3133,13 @@ GROUP BY 1;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (GapFill)
-> Sort
Sort Key: (time_bucket_gapfill('@ 364 days'::interval, _hyper_1_1_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone))
Sort Key: (time_bucket_gapfill('@ 364 days'::interval, _hyper_X_X_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone))
-> HashAggregate
Group Key: time_bucket_gapfill('@ 364 days'::interval, _hyper_1_1_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone)
Group Key: time_bucket_gapfill('@ 364 days'::interval, _hyper_X_X_chunk."time", 'Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone, 'Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone)
-> Result
-> Append
-> Seq Scan on _hyper_1_1_chunk
-> Seq Scan on _hyper_1_2_chunk
-> Seq Scan on _hyper_1_3_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
-> Seq Scan on _hyper_X_X_chunk
(10 rows)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff