mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 18:43:18 +08:00
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:
parent
38e6c0aee5
commit
1b08f11297
@ -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!!'
|
||||
|
@ -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
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user