timescale / timescaledb

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
https://www.timescale.com/
Other
17.4k stars 872 forks source link

[Enhancement]: inefficient query plans for some aggregates on chunked hypertables that use range (including continuous aggregates) #7122

Open fordfrog opened 1 month ago

fordfrog commented 1 month ago

What type of enhancement is this?

Performance

What subsystems and features will be improved?

Adaptive chunking, Continuous aggregate, Partitioning, Query planner

What does the enhancement do?

selects with aggregate functions like min() and max() on the segmentation field without any where condition on hypertables chunked by time range should not traverse all chunks but should instead just use the chunks at the edges of the hypertable to retrieve the results. currently, all chunks are processed for min() and max() even when it is obvious that only the first chunk can contain the min timestamp and only the latest chunk can contain the max timestamp. i think this is should be similar to how partitioning in postgresql works, that only the partitions that can contain the relevant data are processed.

Implementation challenges

No response

fordfrog commented 1 month ago

here are some examples.

on hypertable it's still pretty fast, probably because even though all the chunks appear in the query plan, most of them have the info never executed.

explain analyze select max(timestamp) from ticks_bid_ask ;
                                                                                               QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Result  (cost=0.44..0.45 rows=1 width=8) (actual time=0.031..0.040 rows=1 loops=1)
   InitPlan 1 (returns $0)
     ->  Limit  (cost=0.44..0.44 rows=1 width=8) (actual time=0.030..0.038 rows=1 loops=1)
           ->  Custom Scan (ChunkAppend) on ticks_bid_ask  (cost=0.44..670537.38 rows=29683576 width=8) (actual time=0.029..0.037 rows=1 loops=1)
                 Order: ticks_bid_ask."timestamp" DESC
                 ->  Index Only Scan using _hyper_2_610_chunk_ticks_bid_ask_timestamp_idx on _hyper_2_610_chunk  (cost=0.44..670537.38 rows=29683576 width=8) (actual time=0.028..0.029 rows=1 loops=1)
                       Index Cond: ("timestamp" IS NOT NULL)
                       Heap Fetches: 124
                 ->  Sort  (cost=234517.65..350680.15 rows=46465000 width=8) (never executed)
                       Sort Key: _hyper_2_520_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_520_chunk  (cost=0.05..2192.65 rows=46465000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_611_chunk  (cost=0.00..2192.65 rows=46465 width=52) (never executed)
                 ->  Merge Append  (cost=7959.87..3914424.77 rows=58525000 width=8) (never executed)
                       Sort Key: _hyper_2_223_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_223_chunk  (cost=7393.86..3328563.76 rows=58507000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7393.75..7540.02 rows=58507 width=52) (never executed)
                                   Sort Key: compress_hyper_3_599_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_599_chunk  (cost=0.00..2761.07 rows=58507 width=52) (never executed)
                       ->  Sort  (cost=566.00..611.00 rows=18000 width=8) (never executed)
                             Sort Key: _hyper_2_223_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_223_chunk  (cost=0.00..476.00 rows=18000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=7360.98..3782694.78 rows=56552000 width=8) (never executed)
                       Sort Key: _hyper_2_173_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_173_chunk  (cost=7140.97..3216937.27 rows=56545000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7140.86..7282.22 rows=56545 width=52) (never executed)
                                   Sort Key: compress_hyper_3_224_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_224_chunk  (cost=0.00..2677.45 rows=56545 width=52) (never executed)
                       ->  Sort  (cost=220.00..237.50 rows=7000 width=8) (never executed)
                             Sort Key: _hyper_2_173_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_173_chunk  (cost=0.00..185.00 rows=7000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=297223.79..444421.29 rows=58879000 width=8) (never executed)
                       Sort Key: _hyper_2_132_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_132_chunk  (cost=0.05..2828.79 rows=58879000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_222_chunk  (cost=0.00..2828.79 rows=58879 width=52) (never executed)
                 ->  Merge Append  (cost=9690.08..4411628.55 rows=65964000 width=8) (never executed)
                       Sort Key: _hyper_2_125_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_125_chunk  (cost=8432.07..3750630.54 rows=65924000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=8431.97..8596.78 rows=65924 width=52) (never executed)
                                   Sort Key: compress_hyper_3_221_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_221_chunk  (cost=0.00..3155.24 rows=65924 width=52) (never executed)
                       ->  Sort  (cost=1258.00..1358.00 rows=40000 width=8) (never executed)
                             Sort Key: _hyper_2_125_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_125_chunk  (cost=0.00..1058.00 rows=40000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=9278.99..4729822.27 rows=70710000 width=8) (never executed)
                       Sort Key: _hyper_2_124_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_124_chunk  (cost=9025.98..4022449.26 rows=70702000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9025.88..9202.63 rows=70702 width=52) (never executed)
                                   Sort Key: compress_hyper_3_220_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_220_chunk  (cost=0.00..3331.02 rows=70702 width=52) (never executed)
                       ->  Sort  (cost=253.00..273.00 rows=8000 width=8) (never executed)
                             Sort Key: _hyper_2_124_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_124_chunk  (cost=0.00..213.00 rows=8000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=271946.72..406626.72 rows=53872000 width=8) (never executed)
                       Sort Key: _hyper_2_123_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_123_chunk  (cost=0.05..2586.72 rows=53872000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_219_chunk  (cost=0.00..2586.72 rows=53872 width=52) (never executed)
                 ->  Sort  (cost=281113.89..420336.39 rows=55689000 width=8) (never executed)
                       Sort Key: _hyper_2_122_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_122_chunk  (cost=0.05..2668.89 rows=55689000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_218_chunk  (cost=0.00..2668.89 rows=55689 width=52) (never executed)
                 ->  Merge Append  (cost=6867.11..3637187.27 rows=54398000 width=8) (never executed)
                       Sort Key: _hyper_2_121_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_121_chunk  (cost=6866.81..3092403.77 rows=54356000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=6866.70..7002.59 rows=54356 width=52) (never executed)
                                   Sort Key: compress_hyper_3_217_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_217_chunk  (cost=0.00..2591.56 rows=54356 width=52) (never executed)
                       ->  Index Only Scan using _hyper_2_121_chunk_ticks_bid_ask_timestamp_idx on _hyper_2_121_chunk  (cost=0.29..803.49 rows=42000 width=8) (never executed)
                             Index Cond: ("timestamp" IS NOT NULL)
                             Heap Fetches: 0
                 ->  Sort  (cost=331748.19..496045.69 rows=65719000 width=8) (never executed)
                       Sort Key: _hyper_2_120_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_120_chunk  (cost=0.05..3153.19 rows=65719000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_216_chunk  (cost=0.00..3153.19 rows=65719 width=52) (never executed)
                 ->  Sort  (cost=402475.34..601810.34 rows=79734000 width=8) (never executed)
                       Sort Key: _hyper_2_119_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_119_chunk  (cost=0.05..3805.34 rows=79734000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_215_chunk  (cost=0.00..3805.34 rows=79734 width=52) (never executed)
                 ->  Merge Append  (cost=10481.98..4844245.88 rows=72430975 width=8) (never executed)
                       Sort Key: _hyper_2_118_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_118_chunk  (cost=9255.34..4118612.06 rows=72392000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9255.24..9436.22 rows=72392 width=52) (never executed)
                                   Sort Key: compress_hyper_3_214_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_214_chunk  (cost=0.00..3411.92 rows=72392 width=52) (never executed)
                       ->  Sort  (cost=1226.62..1324.06 rows=38975 width=8) (never executed)
                             Sort Key: _hyper_2_118_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_118_chunk  (cost=0.00..1031.75 rows=38975 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=426430.90..637655.90 rows=84490000 width=8) (never executed)
                       Sort Key: _hyper_2_117_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_117_chunk  (cost=0.05..3980.90 rows=84490000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_213_chunk  (cost=0.00..3980.90 rows=84490 width=52) (never executed)
                 ->  Sort  (cost=345494.50..516619.50 rows=68450000 width=8) (never executed)
                       Sort Key: _hyper_2_116_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_116_chunk  (cost=0.05..3244.50 rows=68450000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_212_chunk  (cost=0.00..3244.50 rows=68450 width=52) (never executed)
                 ->  Sort  (cost=259664.46..388279.46 rows=51446000 width=8) (never executed)
                       Sort Key: _hyper_2_115_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_115_chunk  (cost=0.05..2434.46 rows=51446000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_211_chunk  (cost=0.00..2434.46 rows=51446 width=52) (never executed)
                 ->  Merge Append  (cost=8988.32..4125066.48 rows=61679971 width=8) (never executed)
                       Sort Key: _hyper_2_114_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_114_chunk  (cost=7824.75..3507010.77 rows=61643000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7824.64..7978.75 rows=61643 width=52) (never executed)
                                   Sort Key: compress_hyper_3_210_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_210_chunk  (cost=0.00..2920.43 rows=61643 width=52) (never executed)
                       ->  Sort  (cost=1163.57..1255.99 rows=36971 width=8) (never executed)
                             Sort Key: _hyper_2_114_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_114_chunk  (cost=0.00..978.71 rows=36971 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=332043.78..496488.78 rows=65778000 width=8) (never executed)
                       Sort Key: _hyper_2_113_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_113_chunk  (cost=0.05..3153.78 rows=65778000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_209_chunk  (cost=0.00..3153.78 rows=65778 width=52) (never executed)
                 ->  Merge Append  (cost=9434.78..4922383.97 rows=73609000 width=8) (never executed)
                       Sort Key: _hyper_2_112_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_112_chunk  (cost=9434.48..4185490.47 rows=73567000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9434.37..9618.29 rows=73567 width=52) (never executed)
                                   Sort Key: compress_hyper_3_208_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_208_chunk  (cost=0.00..3487.67 rows=73567 width=52) (never executed)
                       ->  Index Only Scan using _hyper_2_112_chunk_ticks_bid_ask_timestamp_idx on _hyper_2_112_chunk  (cost=0.29..803.49 rows=42000 width=8) (never executed)
                             Index Cond: ("timestamp" IS NOT NULL)
                             Heap Fetches: 0
                 ->  Sort  (cost=374629.27..560196.77 rows=74227000 width=8) (never executed)
                       Sort Key: _hyper_2_111_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_111_chunk  (cost=0.05..3494.27 rows=74227000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_207_chunk  (cost=0.00..3494.27 rows=74227 width=52) (never executed)
                 ->  Sort  (cost=313715.58..469110.58 rows=62158000 width=8) (never executed)
                       Sort Key: _hyper_2_110_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_110_chunk  (cost=0.05..2925.58 rows=62158000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_206_chunk  (cost=0.00..2925.58 rows=62158 width=52) (never executed)
                 ->  Sort  (cost=292685.86..437650.86 rows=57986000 width=8) (never executed)
                       Sort Key: _hyper_2_109_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_109_chunk  (cost=0.05..2755.86 rows=57986000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_205_chunk  (cost=0.00..2755.86 rows=57986 width=52) (never executed)
                 ->  Merge Append  (cost=9149.02..4170173.20 rows=62354007 width=8) (never executed)
                       Sort Key: _hyper_2_108_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_108_chunk  (cost=7953.90..3545343.00 rows=62316000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7953.79..8109.58 rows=62316 width=52) (never executed)
                                   Sort Key: compress_hyper_3_204_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_204_chunk  (cost=0.00..2991.16 rows=62316 width=52) (never executed)
                       ->  Sort  (cost=1195.11..1290.12 rows=38007 width=8) (never executed)
                             Sort Key: _hyper_2_108_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_108_chunk  (cost=0.00..1005.07 rows=38007 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=377964.80..565164.80 rows=74880000 width=8) (never executed)
                       Sort Key: _hyper_2_107_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_107_chunk  (cost=0.05..3564.80 rows=74880000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_203_chunk  (cost=0.00..3564.80 rows=74880 width=52) (never executed)
                 ->  Sort  (cost=379613.09..567635.59 rows=75209000 width=8) (never executed)
                       Sort Key: _hyper_2_106_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_106_chunk  (cost=0.05..3568.09 rows=75209000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_202_chunk  (cost=0.00..3568.09 rows=75209 width=52) (never executed)
                 ->  Merge Append  (cost=10298.42..4782000.13 rows=71499000 width=8) (never executed)
                       Sort Key: _hyper_2_105_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_105_chunk  (cost=9164.41..4065786.12 rows=71463000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9164.30..9342.96 rows=71463 width=52) (never executed)
                                   Sort Key: compress_hyper_3_201_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_201_chunk  (cost=0.00..3402.63 rows=71463 width=52) (never executed)
                       ->  Sort  (cost=1134.00..1224.00 rows=36000 width=8) (never executed)
                             Sort Key: _hyper_2_105_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_105_chunk  (cost=0.00..954.00 rows=36000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=394184.92..589414.92 rows=78092000 width=8) (never executed)
                       Sort Key: _hyper_2_104_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_104_chunk  (cost=0.05..3724.92 rows=78092000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_200_chunk  (cost=0.00..3724.92 rows=78092 width=52) (never executed)
                 ->  Sort  (cost=361709.61..540862.11 rows=71661000 width=8) (never executed)
                       Sort Key: _hyper_2_103_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_103_chunk  (cost=0.05..3404.61 rows=71661000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_199_chunk  (cost=0.00..3404.61 rows=71661 width=52) (never executed)
                 ->  Sort  (cost=256733.61..383886.11 rows=50861000 width=8) (never executed)
                       Sort Key: _hyper_2_102_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_102_chunk  (cost=0.05..2428.61 rows=50861000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_198_chunk  (cost=0.00..2428.61 rows=50861 width=52) (never executed)
                 ->  Sort  (cost=204556.23..305863.73 rows=40523000 width=8) (never executed)
                       Sort Key: _hyper_2_101_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_101_chunk  (cost=0.05..1941.23 rows=40523000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_197_chunk  (cost=0.00..1941.23 rows=40523 width=52) (never executed)
                 ->  Merge Append  (cost=11106.93..5139974.60 rows=76851051 width=8) (never executed)
                       Sort Key: _hyper_2_100_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_100_chunk  (cost=9881.15..4370140.69 rows=76812000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9881.05..10073.08 rows=76812 width=52) (never executed)
                                   Sort Key: compress_hyper_3_196_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_196_chunk  (cost=0.00..3648.12 rows=76812 width=52) (never executed)
                       ->  Sort  (cost=1225.77..1323.39 rows=39051 width=8) (never executed)
                             Sort Key: _hyper_2_100_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_100_chunk  (cost=0.00..1030.51 rows=39051 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=11414.50..5262887.37 rows=78688973 width=8) (never executed)
                       Sort Key: _hyper_2_99_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_99_chunk  (cost=10125.90..4474606.61 rows=78648000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=10125.79..10322.41 rows=78648 width=52) (never executed)
                                   Sort Key: compress_hyper_3_195_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_195_chunk  (cost=0.00..3730.48 rows=78648 width=52) (never executed)
                       ->  Sort  (cost=1288.60..1391.03 rows=40973 width=8) (never executed)
                             Sort Key: _hyper_2_99_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_99_chunk  (cost=0.00..1083.73 rows=40973 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=384526.77..574969.27 rows=76177000 width=8) (never executed)
                       Sort Key: _hyper_2_98_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_98_chunk  (cost=0.05..3641.77 rows=76177000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_194_chunk  (cost=0.00..3641.77 rows=76177 width=52) (never executed)
                 ->  Sort  (cost=287256.15..429543.65 rows=56915000 width=8) (never executed)
                       Sort Key: _hyper_2_97_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_97_chunk  (cost=0.05..2681.15 rows=56915000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_193_chunk  (cost=0.00..2681.15 rows=56915 width=52) (never executed)
                 ->  Sort  (cost=328242.32..490822.32 rows=65032000 width=8) (never executed)
                       Sort Key: _hyper_2_96_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_96_chunk  (cost=0.05..3082.32 rows=65032000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_192_chunk  (cost=0.00..3082.32 rows=65032 width=52) (never executed)
                 ->  Sort  (cost=296323.12..443103.12 rows=58712000 width=8) (never executed)
                       Sort Key: _hyper_2_94_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_94_chunk  (cost=0.05..2763.12 rows=58712000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_191_chunk  (cost=0.00..2763.12 rows=58712 width=52) (never executed)
                 ->  Merge Append  (cost=8640.43..3936494.95 rows=58860000 width=8) (never executed)
                       Sort Key: _hyper_2_90_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_90_chunk  (cost=7488.42..3346652.94 rows=58824000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7488.31..7635.37 rows=58824 width=52) (never executed)
                                   Sort Key: compress_hyper_3_190_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_190_chunk  (cost=0.00..2828.24 rows=58824 width=52) (never executed)
                       ->  Sort  (cost=1152.00..1242.00 rows=36000 width=8) (never executed)
                             Sort Key: _hyper_2_90_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_90_chunk  (cost=0.00..972.00 rows=36000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=347934.37..520276.87 rows=68937000 width=8) (never executed)
                       Sort Key: _hyper_2_86_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_86_chunk  (cost=0.05..3249.37 rows=68937000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_186_chunk  (cost=0.00..3249.37 rows=68937 width=52) (never executed)
                 ->  Sort  (cost=334809.30..500634.30 rows=66330000 width=8) (never executed)
                       Sort Key: _hyper_2_81_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_81_chunk  (cost=0.05..3159.30 rows=66330000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_185_chunk  (cost=0.00..3159.30 rows=66330 width=52) (never executed)
                 ->  Sort  (cost=322291.57..481934.07 rows=63857000 width=8) (never executed)
                       Sort Key: _hyper_2_75_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_75_chunk  (cost=0.05..3006.57 rows=63857000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_184_chunk  (cost=0.00..3006.57 rows=63857 width=52) (never executed)
                 ->  Merge Append  (cost=10042.71..4652152.88 rows=69558000 width=8) (never executed)
                       Sort Key: _hyper_2_71_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_71_chunk  (cost=8910.70..3955350.87 rows=69522000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=8910.59..9084.40 rows=69522 width=52) (never executed)
                                   Sort Key: compress_hyper_3_183_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_183_chunk  (cost=0.00..3319.22 rows=69522 width=52) (never executed)
                       ->  Sort  (cost=1132.00..1222.00 rows=36000 width=8) (never executed)
                             Sort Key: _hyper_2_71_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_71_chunk  (cost=0.00..952.00 rows=36000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=356425.19..532972.69 rows=70619000 width=8) (never executed)
                       Sort Key: _hyper_2_68_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_68_chunk  (cost=0.05..3330.19 rows=70619000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_182_chunk  (cost=0.00..3330.19 rows=70619 width=52) (never executed)
                 ->  Sort  (cost=298711.76..446651.76 rows=59176000 width=8) (never executed)
                       Sort Key: _hyper_2_66_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_66_chunk  (cost=0.05..2831.76 rows=59176000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_181_chunk  (cost=0.00..2831.76 rows=59176 width=52) (never executed)
                 ->  Sort  (cost=292690.87..437658.37 rows=57987000 width=8) (never executed)
                       Sort Key: _hyper_2_62_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_62_chunk  (cost=0.05..2755.87 rows=57987000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_180_chunk  (cost=0.00..2755.87 rows=57987 width=52) (never executed)
                 ->  Merge Append  (cost=8690.43..3877277.80 rows=57977979 width=8) (never executed)
                       Sort Key: _hyper_2_57_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_57_chunk  (cost=7338.74..3296038.86 rows=57935000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7338.63..7483.47 rows=57935 width=52) (never executed)
                                   Sort Key: compress_hyper_3_179_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_179_chunk  (cost=0.00..2755.35 rows=57935 width=52) (never executed)
                       ->  Sort  (cost=1351.68..1459.13 rows=42979 width=8) (never executed)
                             Sort Key: _hyper_2_57_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_57_chunk  (cost=0.00..1136.79 rows=42979 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=298451.24..446261.24 rows=59124000 width=8) (never executed)
                       Sort Key: _hyper_2_58_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_58_chunk  (cost=0.05..2831.24 rows=59124000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_178_chunk  (cost=0.00..2831.24 rows=59124 width=52) (never executed)
                 ->  Sort  (cost=323898.65..484311.15 rows=64165000 width=8) (never executed)
                       Sort Key: _hyper_2_61_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_61_chunk  (cost=0.05..3073.65 rows=64165000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_177_chunk  (cost=0.00..3073.65 rows=64165 width=52) (never executed)
                 ->  Sort  (cost=343209.94..513194.94 rows=67994000 width=8) (never executed)
                       Sort Key: _hyper_2_60_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_60_chunk  (cost=0.05..3239.94 rows=67994000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_176_chunk  (cost=0.00..3239.94 rows=67994 width=52) (never executed)
                 ->  Sort  (cost=371958.94..556193.94 rows=73694000 width=8) (never executed)
                       Sort Key: _hyper_2_59_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_59_chunk  (cost=0.05..3488.94 rows=73694000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_175_chunk  (cost=0.00..3488.94 rows=73694 width=52) (never executed)
                 ->  Sort  (cost=343375.27..513442.77 rows=68027000 width=8) (never executed)
                       Sort Key: _hyper_2_187_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_187_chunk  (cost=0.05..3240.27 rows=68027000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_189_chunk  (cost=0.00..3240.27 rows=68027 width=52) (never executed)
                 ->  Sort  (cost=403918.22..603973.22 rows=80022000 width=8) (never executed)
                       Sort Key: _hyper_2_93_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_93_chunk  (cost=0.05..3808.22 rows=80022000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_172_chunk  (cost=0.00..3808.22 rows=80022 width=52) (never executed)
                 ->  Sort  (cost=353063.48..527933.48 rows=69948000 width=8) (never executed)
                       Sort Key: _hyper_2_92_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_92_chunk  (cost=0.05..3323.48 rows=69948000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_171_chunk  (cost=0.00..3323.48 rows=69948 width=52) (never executed)
                 ->  Sort  (cost=365622.42..546727.42 rows=72442000 width=8) (never executed)
                       Sort Key: _hyper_2_91_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_91_chunk  (cost=0.05..3412.42 rows=72442000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_170_chunk  (cost=0.00..3412.42 rows=72442 width=52) (never executed)
                 ->  Merge Append  (cost=10175.80..4659078.64 rows=69662949 width=8) (never executed)
                       Sort Key: _hyper_2_89_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_89_chunk  (cost=8920.56..3961094.03 rows=69623000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=8920.45..9094.51 rows=69623 width=52) (never executed)
                                   Sort Key: compress_hyper_3_169_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_169_chunk  (cost=0.00..3320.23 rows=69623 width=52) (never executed)
                       ->  Sort  (cost=1255.24..1355.11 rows=39949 width=8) (never executed)
                             Sort Key: _hyper_2_89_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_89_chunk  (cost=0.00..1055.49 rows=39949 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=272748.32..407828.32 rows=54032000 width=8) (never executed)
                       Sort Key: _hyper_2_88_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_88_chunk  (cost=0.05..2588.32 rows=54032000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_168_chunk  (cost=0.00..2588.32 rows=54032 width=52) (never executed)
                 ->  Sort  (cost=328382.60..491032.60 rows=65060000 width=8) (never executed)
                       Sort Key: _hyper_2_87_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_87_chunk  (cost=0.05..3082.60 rows=65060000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_167_chunk  (cost=0.00..3082.60 rows=65060 width=52) (never executed)
                 ->  Sort  (cost=303491.30..453816.30 rows=60130000 width=8) (never executed)
                       Sort Key: _hyper_2_85_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_85_chunk  (cost=0.05..2841.30 rows=60130000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_166_chunk  (cost=0.00..2841.30 rows=60130 width=52) (never executed)
                 ->  Sort  (cost=286304.25..428116.75 rows=56725000 width=8) (never executed)
                       Sort Key: _hyper_2_84_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_84_chunk  (cost=0.05..2679.25 rows=56725000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_165_chunk  (cost=0.00..2679.25 rows=56725 width=52) (never executed)
                 ->  Merge Append  (cost=8148.41..3508967.96 rows=57874005 width=8) (never executed)
                       Sort Key: _hyper_2_83_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_83_chunk  (cost=7330.32..2929344.81 rows=57848000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7330.25..7474.87 rows=57848 width=52) (never executed)
                                   Sort Key: compress_hyper_3_164_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_164_chunk  (cost=0.00..2754.48 rows=57848 width=52) (never executed)
                       ->  Sort  (cost=818.08..883.09 rows=26005 width=8) (never executed)
                             Sort Key: _hyper_2_83_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_83_chunk  (cost=0.00..688.05 rows=26005 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=280898.46..420013.46 rows=55646000 width=8) (never executed)
                       Sort Key: _hyper_2_82_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_82_chunk  (cost=0.05..2668.46 rows=55646000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_163_chunk  (cost=0.00..2668.46 rows=55646 width=52) (never executed)
                 ->  Sort  (cost=311456.07..465723.57 rows=61707000 width=8) (never executed)
                       Sort Key: _hyper_2_80_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_80_chunk  (cost=0.05..2921.07 rows=61707000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_162_chunk  (cost=0.00..2921.07 rows=61707 width=52) (never executed)
                 ->  Sort  (cost=271135.10..405410.10 rows=53710000 width=8) (never executed)
                       Sort Key: _hyper_2_79_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_79_chunk  (cost=0.05..2585.10 rows=53710000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_161_chunk  (cost=0.00..2585.10 rows=53710 width=52) (never executed)
                 ->  Merge Append  (cost=8232.46..3561878.87 rows=58747000 width=8) (never executed)
                       Sort Key: _hyper_2_78_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_78_chunk  (cost=7414.45..2973525.86 rows=58721000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=7414.38..7561.18 rows=58721 width=52) (never executed)
                                   Sort Key: compress_hyper_3_160_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_160_chunk  (cost=0.00..2763.21 rows=58721 width=52) (never executed)
                       ->  Sort  (cost=818.00..883.00 rows=26000 width=8) (never executed)
                             Sort Key: _hyper_2_78_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_78_chunk  (cost=0.00..688.00 rows=26000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=331188.20..495238.20 rows=65620000 width=8) (never executed)
                       Sort Key: _hyper_2_77_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_77_chunk  (cost=0.05..3088.20 rows=65620000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_159_chunk  (cost=0.00..3088.20 rows=65620 width=52) (never executed)
                 ->  Sort  (cost=287856.22..430411.22 rows=57022000 width=8) (never executed)
                       Sort Key: _hyper_2_76_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_76_chunk  (cost=0.05..2746.22 rows=57022000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_158_chunk  (cost=0.00..2746.22 rows=57022 width=52) (never executed)
                 ->  Sort  (cost=271410.65..405823.15 rows=53765000 width=8) (never executed)
                       Sort Key: _hyper_2_74_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_74_chunk  (cost=0.05..2585.65 rows=53765000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_157_chunk  (cost=0.00..2585.65 rows=53765 width=52) (never executed)
                 ->  Merge Append  (cost=6544.40..2775472.13 rows=45779010 width=8) (never executed)
                       Sort Key: _hyper_2_73_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_73_chunk  (cost=5727.24..2316799.85 rows=45753000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=5727.17..5841.56 rows=45753 width=52) (never executed)
                                   Sort Key: compress_hyper_3_156_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_156_chunk  (cost=0.00..2185.53 rows=45753 width=52) (never executed)
                       ->  Sort  (cost=817.15..882.18 rows=26010 width=8) (never executed)
                             Sort Key: _hyper_2_73_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_73_chunk  (cost=0.00..687.10 rows=26010 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=318909.82..476864.82 rows=63182000 width=8) (never executed)
                       Sort Key: _hyper_2_72_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_72_chunk  (cost=0.05..2999.82 rows=63182000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_155_chunk  (cost=0.00..2999.82 rows=63182 width=52) (never executed)
                 ->  Merge Append  (cost=10019.68..4338292.34 rows=71549035 width=8) (never executed)
                       Sort Key: _hyper_2_70_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_70_chunk  (cost=9170.14..3621884.86 rows=71522000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9170.07..9348.88 rows=71522 width=52) (never executed)
                                   Sort Key: compress_hyper_3_154_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_154_chunk  (cost=0.00..3403.22 rows=71522 width=52) (never executed)
                       ->  Sort  (cost=849.53..917.11 rows=27035 width=8) (never executed)
                             Sort Key: _hyper_2_70_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_70_chunk  (cost=0.00..714.35 rows=27035 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=13944.87..5335811.03 rows=87968034 width=8) (never executed)
                       Sort Key: _hyper_2_69_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_69_chunk  (cost=13126.35..4455247.09 rows=87942000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=13126.28..13346.14 rows=87942 width=52) (never executed)
                                   Sort Key: compress_hyper_3_153_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_153_chunk  (cost=0.00..4143.42 rows=87942 width=52) (never executed)
                       ->  Sort  (cost=818.51..883.60 rows=26034 width=8) (never executed)
                             Sort Key: _hyper_2_69_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_69_chunk  (cost=0.00..688.34 rows=26034 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=20175.49..7695678.04 rows=126865000 width=8) (never executed)
                       Sort Key: _hyper_2_67_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_67_chunk  (cost=19295.48..6426078.03 rows=126837000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=19295.41..19612.51 rows=126837 width=52) (never executed)
                                   Sort Key: compress_hyper_3_152_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_152_chunk  (cost=0.00..6004.37 rows=126837 width=52) (never executed)
                       ->  Sort  (cost=880.00..950.00 rows=28000 width=8) (never executed)
                             Sort Key: _hyper_2_67_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_67_chunk  (cost=0.00..740.00 rows=28000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=10840.93..4708308.98 rows=77651000 width=8) (never executed)
                       Sort Key: _hyper_2_65_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_65_chunk  (cost=9960.92..3930848.97 rows=77623000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=9960.85..10154.90 rows=77623 width=52) (never executed)
                                   Sort Key: compress_hyper_3_151_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_151_chunk  (cost=0.00..3656.23 rows=77623 width=52) (never executed)
                       ->  Sort  (cost=880.00..950.00 rows=28000 width=8) (never executed)
                             Sort Key: _hyper_2_65_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_65_chunk  (cost=0.00..740.00 rows=28000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Merge Append  (cost=11352.90..4930935.27 rows=81320000 width=8) (never executed)
                       Sort Key: _hyper_2_64_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_64_chunk  (cost=10514.89..4116832.26 rows=81294000 width=8) (never executed)
                             Filter: ("timestamp" IS NOT NULL)
                             ->  Sort  (cost=10514.82..10718.05 rows=81294 width=52) (never executed)
                                   Sort Key: compress_hyper_3_136_chunk._ts_meta_max_1 DESC
                                   ->  Seq Scan on compress_hyper_3_136_chunk  (cost=0.00..3884.94 rows=81294 width=52) (never executed)
                       ->  Sort  (cost=838.00..903.00 rows=26000 width=8) (never executed)
                             Sort Key: _hyper_2_64_chunk."timestamp" DESC
                             ->  Seq Scan on _hyper_2_64_chunk  (cost=0.00..708.00 rows=26000 width=8) (never executed)
                                   Filter: ("timestamp" IS NOT NULL)
                 ->  Sort  (cost=231892.41..346744.91 rows=45941000 width=8) (never executed)
                       Sort Key: _hyper_2_63_chunk."timestamp" DESC
                       ->  Custom Scan (DecompressChunk) on _hyper_2_63_chunk  (cost=0.05..2187.41 rows=45941000 width=8) (never executed)
                             Vectorized Filter: ("timestamp" IS NOT NULL)
                             ->  Seq Scan on compress_hyper_3_135_chunk  (cost=0.00..2187.41 rows=45941 width=52) (never executed)
 Planning Time: 3.963 ms
 Execution Time: 0.337 ms
(517 rows)

on a continuous aggregate the similar query is very slow:

\d+ _timescaledb_internal._materialized_hypertable_28
                                                Table "_timescaledb_internal._materialized_hypertable_28"
               Column               |            Type             | Collation | Nullable | Default | Storage  | Compression | Stats target | Description 
------------------------------------+-----------------------------+-----------+----------+---------+----------+-------------+--------------+-------------
 ticker                             | text                        |           |          |         | extended |             |              | 
 bar_start                          | timestamp without time zone |           | not null |         | plain    |             |              | 
 ticks                              | bigint                      |           |          |         | plain    |             |              | 
 received_delay_min                 | double precision            |           |          |         | plain    |             |              | 
 received_delay_max                 | double precision            |           |          |         | plain    |             |              | 
 received_delay_stats               | statssummary1d              |           |          |         | extended |             |              | 
 candlestick_bid                    | candlestick                 |           |          |         | extended |             |              | 
 candlestick_ask                    | candlestick                 |           |          |         | extended |             |              | 
 candlestick_mid                    | candlestick                 |           |          |         | extended |             |              | 
 bid_price_stats                    | statssummary1d              |           |          |         | extended |             |              | 
 ask_price_stats                    | statssummary1d              |           |          |         | extended |             |              | 
 mid_price_stats                    | statssummary1d              |           |          |         | extended |             |              | 
 bid_price_freq                     | spacesavingaggregate        |           |          |         | extended |             |              | 
 ask_price_freq                     | spacesavingaggregate        |           |          |         | extended |             |              | 
 mid_price_freq                     | spacesavingaggregate        |           |          |         | extended |             |              | 
 bid_size_min                       | integer                     |           |          |         | plain    |             |              | 
 bid_size_max                       | integer                     |           |          |         | plain    |             |              | 
 bid_size_stats                     | statssummary1d              |           |          |         | extended |             |              | 
 bid_size_freq                      | spacesavingbigintaggregate  |           |          |         | extended |             |              | 
 ask_size_min                       | integer                     |           |          |         | plain    |             |              | 
 ask_size_max                       | integer                     |           |          |         | plain    |             |              | 
 ask_size_stats                     | statssummary1d              |           |          |         | extended |             |              | 
 ask_size_freq                      | spacesavingbigintaggregate  |           |          |         | extended |             |              | 
 spread_min                         | double precision            |           |          |         | plain    |             |              | 
 spread_max                         | double precision            |           |          |         | plain    |             |              | 
 spread_stats                       | statssummary1d              |           |          |         | extended |             |              | 
 spread_freq                        | spacesavingaggregate        |           |          |         | extended |             |              | 
 bid_tick_change_up                 | bigint                      |           |          |         | plain    |             |              | 
 bid_tick_change_down               | bigint                      |           |          |         | plain    |             |              | 
 bid_tick_change_neutral_after_up   | bigint                      |           |          |         | plain    |             |              | 
 bid_tick_change_neutral_after_down | bigint                      |           |          |         | plain    |             |              | 
 bid_price_zero                     | bigint                      |           |          |         | plain    |             |              | 
 ask_price_zero                     | bigint                      |           |          |         | plain    |             |              | 
 mid_price_null                     | bigint                      |           |          |         | plain    |             |              | 
 spread_null                        | bigint                      |           |          |         | plain    |             |              | 
 bid_tick_change_null               | bigint                      |           |          |         | plain    |             |              | 
 ask_tick_change_null               | bigint                      |           |          |         | plain    |             |              | 
 mid_tick_change_null               | bigint                      |           |          |         | plain    |             |              | 
Indexes:
    "_materialized_hypertable_28_bar_start_idx" btree (bar_start DESC)
    "_materialized_hypertable_28_ticker_bar_start_idx" btree (ticker, bar_start DESC)
Triggers:
    ts_cagg_invalidation_trigger AFTER INSERT OR DELETE OR UPDATE ON _timescaledb_internal._materialized_hypertable_28 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.continuous_agg_invalidation_trigger('28')
    ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_28 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_28_236_chunk,
              _timescaledb_internal._hyper_28_237_chunk,
              _timescaledb_internal._hyper_28_239_chunk,
              _timescaledb_internal._hyper_28_241_chunk,
              _timescaledb_internal._hyper_28_243_chunk,
              _timescaledb_internal._hyper_28_245_chunk,
              _timescaledb_internal._hyper_28_246_chunk,
              _timescaledb_internal._hyper_28_249_chunk,
              _timescaledb_internal._hyper_28_251_chunk,
              _timescaledb_internal._hyper_28_253_chunk,
              _timescaledb_internal._hyper_28_255_chunk,
              _timescaledb_internal._hyper_28_257_chunk,
              _timescaledb_internal._hyper_28_259_chunk,
              _timescaledb_internal._hyper_28_261_chunk,
              _timescaledb_internal._hyper_28_263_chunk,
              _timescaledb_internal._hyper_28_265_chunk,
              _timescaledb_internal._hyper_28_267_chunk,
              _timescaledb_internal._hyper_28_269_chunk,
              _timescaledb_internal._hyper_28_270_chunk,
              _timescaledb_internal._hyper_28_273_chunk,
              _timescaledb_internal._hyper_28_274_chunk,
              _timescaledb_internal._hyper_28_276_chunk,
              _timescaledb_internal._hyper_28_277_chunk,
              _timescaledb_internal._hyper_28_278_chunk,
              _timescaledb_internal._hyper_28_283_chunk,
              _timescaledb_internal._hyper_28_285_chunk,
              _timescaledb_internal._hyper_28_287_chunk,
              _timescaledb_internal._hyper_28_289_chunk,
              _timescaledb_internal._hyper_28_291_chunk,
              _timescaledb_internal._hyper_28_293_chunk,
              _timescaledb_internal._hyper_28_295_chunk,
              _timescaledb_internal._hyper_28_296_chunk,
              _timescaledb_internal._hyper_28_297_chunk,
              _timescaledb_internal._hyper_28_298_chunk,
              _timescaledb_internal._hyper_28_299_chunk,
              _timescaledb_internal._hyper_28_300_chunk,
              _timescaledb_internal._hyper_28_301_chunk,
              _timescaledb_internal._hyper_28_302_chunk,
              _timescaledb_internal._hyper_28_303_chunk,
              _timescaledb_internal._hyper_28_304_chunk,
              _timescaledb_internal._hyper_28_305_chunk,
              _timescaledb_internal._hyper_28_307_chunk,
              _timescaledb_internal._hyper_28_309_chunk,
              _timescaledb_internal._hyper_28_311_chunk,
              _timescaledb_internal._hyper_28_314_chunk,
              _timescaledb_internal._hyper_28_315_chunk,
              _timescaledb_internal._hyper_28_316_chunk,
              _timescaledb_internal._hyper_28_317_chunk,
              _timescaledb_internal._hyper_28_320_chunk,
              _timescaledb_internal._hyper_28_322_chunk,
              _timescaledb_internal._hyper_28_324_chunk,
              _timescaledb_internal._hyper_28_327_chunk,
              _timescaledb_internal._hyper_28_331_chunk,
              _timescaledb_internal._hyper_28_335_chunk,
              _timescaledb_internal._hyper_28_337_chunk,
              _timescaledb_internal._hyper_28_345_chunk,
              _timescaledb_internal._hyper_28_346_chunk,
              _timescaledb_internal._hyper_28_347_chunk,
              _timescaledb_internal._hyper_28_348_chunk,
              _timescaledb_internal._hyper_28_349_chunk,
              _timescaledb_internal._hyper_28_355_chunk,
              _timescaledb_internal._hyper_28_356_chunk,
              _timescaledb_internal._hyper_28_357_chunk,
              _timescaledb_internal._hyper_28_359_chunk,
              _timescaledb_internal._hyper_28_360_chunk,
              _timescaledb_internal._hyper_28_361_chunk,
              _timescaledb_internal._hyper_28_362_chunk,
              _timescaledb_internal._hyper_28_363_chunk,
              _timescaledb_internal._hyper_28_364_chunk,
              _timescaledb_internal._hyper_28_365_chunk,
              _timescaledb_internal._hyper_28_366_chunk,
              _timescaledb_internal._hyper_28_367_chunk,
              _timescaledb_internal._hyper_28_600_chunk
Access method: heap

select * from timescaledb_information.chunks where hypertable_name = '_materialized_hypertable_28' order by range_start;
   hypertable_schema   |       hypertable_name       |     chunk_schema      |     chunk_name      | primary_dimension |   primary_dimension_type    |      range_start       |       range_end        | range_start_integer | range_end_integer | is_compressed | chunk_tablespace |      chunk_creation_time
-----------------------+-----------------------------+-----------------------+---------------------+-------------------+-----------------------------+------------------------+------------------------+---------------------+-------------------+---------------+------------------+-------------------------------
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_236_chunk | bar_start         | timestamp without time zone | 2023-02-16 00:00:00+00 | 2023-02-23 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 08:57:55.825392+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_237_chunk | bar_start         | timestamp without time zone | 2023-02-23 00:00:00+00 | 2023-03-02 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 09:02:45.675122+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_239_chunk | bar_start         | timestamp without time zone | 2023-03-02 00:00:00+00 | 2023-03-09 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 09:14:43.515333+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_241_chunk | bar_start         | timestamp without time zone | 2023-03-09 00:00:00+00 | 2023-03-16 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 09:28:23.885706+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_243_chunk | bar_start         | timestamp without time zone | 2023-03-16 00:00:00+00 | 2023-03-23 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 09:43:51.248531+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_245_chunk | bar_start         | timestamp without time zone | 2023-03-23 00:00:00+00 | 2023-03-30 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 09:56:18.474411+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_246_chunk | bar_start         | timestamp without time zone | 2023-03-30 00:00:00+00 | 2023-04-06 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 10:03:57.329509+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_249_chunk | bar_start         | timestamp without time zone | 2023-04-06 00:00:00+00 | 2023-04-13 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 10:20:48.885138+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_251_chunk | bar_start         | timestamp without time zone | 2023-04-13 00:00:00+00 | 2023-04-20 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 10:31:13.577246+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_253_chunk | bar_start         | timestamp without time zone | 2023-04-20 00:00:00+00 | 2023-04-27 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 10:40:50.384279+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_255_chunk | bar_start         | timestamp without time zone | 2023-04-27 00:00:00+00 | 2023-05-04 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 10:50:28.791105+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_257_chunk | bar_start         | timestamp without time zone | 2023-05-04 00:00:00+00 | 2023-05-11 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 11:00:24.680839+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_259_chunk | bar_start         | timestamp without time zone | 2023-05-11 00:00:00+00 | 2023-05-18 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 11:12:23.014672+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_261_chunk | bar_start         | timestamp without time zone | 2023-05-18 00:00:00+00 | 2023-05-25 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 11:23:34.462416+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_263_chunk | bar_start         | timestamp without time zone | 2023-05-25 00:00:00+00 | 2023-06-01 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 11:33:14.74696+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_265_chunk | bar_start         | timestamp without time zone | 2023-06-01 00:00:00+00 | 2023-06-08 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 12:22:17.150328+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_267_chunk | bar_start         | timestamp without time zone | 2023-06-08 00:00:00+00 | 2023-06-15 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 12:30:38.087868+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_269_chunk | bar_start         | timestamp without time zone | 2023-06-15 00:00:00+00 | 2023-06-22 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 12:41:29.27158+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_270_chunk | bar_start         | timestamp without time zone | 2023-06-22 00:00:00+00 | 2023-06-29 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 12:49:40.978946+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_273_chunk | bar_start         | timestamp without time zone | 2023-06-29 00:00:00+00 | 2023-07-06 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 13:04:29.989101+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_274_chunk | bar_start         | timestamp without time zone | 2023-07-06 00:00:00+00 | 2023-07-13 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 13:10:51.365525+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_276_chunk | bar_start         | timestamp without time zone | 2023-07-13 00:00:00+00 | 2023-07-20 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 13:21:39.406269+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_277_chunk | bar_start         | timestamp without time zone | 2023-07-20 00:00:00+00 | 2023-07-27 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 13:31:36.404882+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_278_chunk | bar_start         | timestamp without time zone | 2023-07-27 00:00:00+00 | 2023-08-03 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 13:42:10.34044+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_283_chunk | bar_start         | timestamp without time zone | 2023-08-03 00:00:00+00 | 2023-08-10 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 14:09:18.898424+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_285_chunk | bar_start         | timestamp without time zone | 2023-08-10 00:00:00+00 | 2023-08-17 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 14:22:47.005779+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_287_chunk | bar_start         | timestamp without time zone | 2023-08-17 00:00:00+00 | 2023-08-24 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 14:37:18.970031+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_289_chunk | bar_start         | timestamp without time zone | 2023-08-24 00:00:00+00 | 2023-08-31 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 14:52:12.712054+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_291_chunk | bar_start         | timestamp without time zone | 2023-08-31 00:00:00+00 | 2023-09-07 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 15:06:12.148436+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_293_chunk | bar_start         | timestamp without time zone | 2023-09-07 00:00:00+00 | 2023-09-14 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 15:18:57.390538+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_295_chunk | bar_start         | timestamp without time zone | 2023-09-14 00:00:00+00 | 2023-09-21 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 15:30:43.344786+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_296_chunk | bar_start         | timestamp without time zone | 2023-09-21 00:00:00+00 | 2023-09-28 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 15:40:31.677943+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_297_chunk | bar_start         | timestamp without time zone | 2023-09-28 00:00:00+00 | 2023-10-05 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 15:50:12.819675+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_298_chunk | bar_start         | timestamp without time zone | 2023-10-05 00:00:00+00 | 2023-10-12 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:01:03.329112+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_299_chunk | bar_start         | timestamp without time zone | 2023-10-12 00:00:00+00 | 2023-10-19 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:11:53.258799+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_300_chunk | bar_start         | timestamp without time zone | 2023-10-19 00:00:00+00 | 2023-10-26 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:21:21.660418+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_301_chunk | bar_start         | timestamp without time zone | 2023-10-26 00:00:00+00 | 2023-11-02 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:30:57.388088+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_302_chunk | bar_start         | timestamp without time zone | 2023-11-02 00:00:00+00 | 2023-11-09 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:41:29.289305+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_303_chunk | bar_start         | timestamp without time zone | 2023-11-09 00:00:00+00 | 2023-11-16 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 16:51:09.087825+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_304_chunk | bar_start         | timestamp without time zone | 2023-11-16 00:00:00+00 | 2023-11-23 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 17:00:21.672507+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_305_chunk | bar_start         | timestamp without time zone | 2023-11-23 00:00:00+00 | 2023-11-30 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 17:10:47.379715+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_307_chunk | bar_start         | timestamp without time zone | 2023-11-30 00:00:00+00 | 2023-12-07 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 17:24:10.096798+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_309_chunk | bar_start         | timestamp without time zone | 2023-12-07 00:00:00+00 | 2023-12-14 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 17:36:38.918931+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_311_chunk | bar_start         | timestamp without time zone | 2023-12-14 00:00:00+00 | 2023-12-21 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 17:49:23.365892+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_314_chunk | bar_start         | timestamp without time zone | 2023-12-21 00:00:00+00 | 2023-12-28 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 18:09:18.279147+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_315_chunk | bar_start         | timestamp without time zone | 2023-12-28 00:00:00+00 | 2024-01-04 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 18:16:51.449514+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_316_chunk | bar_start         | timestamp without time zone | 2024-01-04 00:00:00+00 | 2024-01-11 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 18:25:12.724232+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_317_chunk | bar_start         | timestamp without time zone | 2024-01-11 00:00:00+00 | 2024-01-18 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 18:36:26.103197+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_320_chunk | bar_start         | timestamp without time zone | 2024-01-18 00:00:00+00 | 2024-01-25 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 18:54:58.542587+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_322_chunk | bar_start         | timestamp without time zone | 2024-01-25 00:00:00+00 | 2024-02-01 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 19:10:39.086701+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_324_chunk | bar_start         | timestamp without time zone | 2024-02-01 00:00:00+00 | 2024-02-08 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 19:24:57.03915+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_327_chunk | bar_start         | timestamp without time zone | 2024-02-08 00:00:00+00 | 2024-02-15 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 19:43:22.59508+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_331_chunk | bar_start         | timestamp without time zone | 2024-02-15 00:00:00+00 | 2024-02-22 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 20:05:46.338021+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_335_chunk | bar_start         | timestamp without time zone | 2024-02-22 00:00:00+00 | 2024-02-29 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 20:27:29.812334+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_337_chunk | bar_start         | timestamp without time zone | 2024-02-29 00:00:00+00 | 2024-03-07 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 20:42:31.88454+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_345_chunk | bar_start         | timestamp without time zone | 2024-03-07 00:00:00+00 | 2024-03-14 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 21:29:32.947643+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_346_chunk | bar_start         | timestamp without time zone | 2024-03-14 00:00:00+00 | 2024-03-21 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 21:40:31.087093+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_347_chunk | bar_start         | timestamp without time zone | 2024-03-21 00:00:00+00 | 2024-03-28 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 21:49:41.41636+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_348_chunk | bar_start         | timestamp without time zone | 2024-03-28 00:00:00+00 | 2024-04-04 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 21:58:24.437912+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_349_chunk | bar_start         | timestamp without time zone | 2024-04-04 00:00:00+00 | 2024-04-11 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 22:06:43.209737+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_355_chunk | bar_start         | timestamp without time zone | 2024-04-11 00:00:00+00 | 2024-04-18 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 22:38:10.609897+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_356_chunk | bar_start         | timestamp without time zone | 2024-04-18 00:00:00+00 | 2024-04-25 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 22:49:11.173562+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_357_chunk | bar_start         | timestamp without time zone | 2024-04-25 00:00:00+00 | 2024-05-02 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 22:58:27.607871+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_359_chunk | bar_start         | timestamp without time zone | 2024-05-02 00:00:00+00 | 2024-05-09 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:13:15.695469+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_360_chunk | bar_start         | timestamp without time zone | 2024-05-09 00:00:00+00 | 2024-05-16 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:23:08.727139+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_361_chunk | bar_start         | timestamp without time zone | 2024-05-16 00:00:00+00 | 2024-05-23 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:30:30.866277+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_362_chunk | bar_start         | timestamp without time zone | 2024-05-23 00:00:00+00 | 2024-05-30 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:37:47.02106+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_363_chunk | bar_start         | timestamp without time zone | 2024-05-30 00:00:00+00 | 2024-06-06 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:44:50.332205+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_364_chunk | bar_start         | timestamp without time zone | 2024-06-06 00:00:00+00 | 2024-06-13 00:00:00+00 |                     |                   | t             |                  | 2024-06-29 23:54:46.555271+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_365_chunk | bar_start         | timestamp without time zone | 2024-06-13 00:00:00+00 | 2024-06-20 00:00:00+00 |                     |                   | t             |                  | 2024-06-30 00:05:14.239786+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_366_chunk | bar_start         | timestamp without time zone | 2024-06-20 00:00:00+00 | 2024-06-27 00:00:00+00 |                     |                   | t             |                  | 2024-06-30 00:15:02.99307+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_367_chunk | bar_start         | timestamp without time zone | 2024-06-27 00:00:00+00 | 2024-07-04 00:00:00+00 |                     |                   | t             |                  | 2024-06-30 00:23:14.077155+00
 _timescaledb_internal | _materialized_hypertable_28 | _timescaledb_internal | _hyper_28_600_chunk | bar_start         | timestamp without time zone | 2024-07-04 00:00:00+00 | 2024-07-11 00:00:00+00 |                     |                   | t             |                  | 2024-07-06 05:46:37.08425+00

explain analyze select max(bar_start) from market_bars_s1;
                                                                                                           QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=41422754.11..41422754.12 rows=1 width=8) (actual time=122783.480..122783.522 rows=1 loops=1)
   ->  Result  (cost=88011.48..32615819.69 rows=704554754 width=681) (actual time=211.260..107822.584 rows=702507639 loops=1)
         ->  Merge Append  (cost=88011.48..25570272.15 rows=704554754 width=25) (actual time=211.258..57886.222 rows=702507639 loops=1)
               Sort Key: _hyper_28_236_chunk.ticker, _hyper_28_236_chunk.bar_start
               ->  Custom Scan (DecompressChunk) on _hyper_28_236_chunk  (cost=0.12..648.46 rows=5455000 width=40) (actual time=0.027..161.420 rows=5437589 loops=1)
                     ->  Index Scan using compress_hyper_29_238_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_238_chunk  (cost=0.28..648.46 rows=5455 width=73) (actual time=0.006..0.999 rows=5455 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_237_chunk  (cost=0.12..1064.78 rows=9201000 width=40) (actual time=0.017..275.438 rows=9188090 loops=1)
                     ->  Index Scan using compress_hyper_29_240_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_240_chunk  (cost=0.29..1064.78 rows=9201 width=73) (actual time=0.004..1.704 rows=9201 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_239_chunk  (cost=0.12..1055.31 rows=8991000 width=40) (actual time=0.018..269.622 rows=8976649 loops=1)
                     ->  Index Scan using compress_hyper_29_242_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_242_chunk  (cost=0.29..1055.31 rows=8991 width=73) (actual time=0.005..1.642 rows=8991 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_241_chunk  (cost=0.12..1207.86 rows=9961000 width=40) (actual time=0.023..293.331 rows=9949940 loops=1)
                     ->  Index Scan using compress_hyper_29_244_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_244_chunk  (cost=0.29..1207.86 rows=9961 width=73) (actual time=0.010..1.763 rows=9961 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_243_chunk  (cost=0.12..1130.38 rows=9396000 width=40) (actual time=0.014..280.279 rows=9380890 loops=1)
                     ->  Index Scan using compress_hyper_29_247_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_247_chunk  (cost=0.29..1130.38 rows=9396 width=73) (actual time=0.003..1.634 rows=9396 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_245_chunk  (cost=0.12..1052.69 rows=8890000 width=40) (actual time=0.018..261.280 rows=8874331 loops=1)
                     ->  Index Scan using compress_hyper_29_248_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_248_chunk  (cost=0.29..1052.69 rows=8890 width=73) (actual time=0.004..1.537 rows=8890 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_246_chunk  (cost=0.12..979.36 rows=8462000 width=40) (actual time=0.020..253.032 rows=8447550 loops=1)
                     ->  Index Scan using compress_hyper_29_250_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_250_chunk  (cost=0.29..979.36 rows=8462 width=73) (actual time=0.006..1.547 rows=8462 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_249_chunk  (cost=0.12..886.48 rows=7303000 width=40) (actual time=0.015..218.388 rows=7287216 loops=1)
                     ->  Index Scan using compress_hyper_29_252_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_252_chunk  (cost=0.28..886.48 rows=7303 width=73) (actual time=0.004..1.310 rows=7303 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_251_chunk  (cost=0.12..915.68 rows=7916000 width=40) (actual time=0.017..232.973 rows=7899207 loops=1)
                     ->  Index Scan using compress_hyper_29_254_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_254_chunk  (cost=0.28..915.68 rows=7916 width=73) (actual time=0.004..1.376 rows=7916 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_253_chunk  (cost=0.12..971.32 rows=8139000 width=40) (actual time=0.013..246.318 rows=8127407 loops=1)
                     ->  Index Scan using compress_hyper_29_256_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_256_chunk  (cost=0.28..971.32 rows=8139 width=73) (actual time=0.004..1.519 rows=8139 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_255_chunk  (cost=0.12..987.81 rows=8538000 width=40) (actual time=0.018..250.593 rows=8525374 loops=1)
                     ->  Index Scan using compress_hyper_29_258_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_258_chunk  (cost=0.29..987.81 rows=8538 width=73) (actual time=0.005..1.468 rows=8538 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_257_chunk  (cost=0.12..972.53 rows=8219000 width=40) (actual time=0.013..248.115 rows=8202271 loops=1)
                     ->  Index Scan using compress_hyper_29_260_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_260_chunk  (cost=0.29..972.53 rows=8219 width=73) (actual time=0.003..1.576 rows=8219 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_259_chunk  (cost=0.12..969.88 rows=8116000 width=40) (actual time=0.011..241.238 rows=8101378 loops=1)
                     ->  Index Scan using compress_hyper_29_262_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_262_chunk  (cost=0.28..969.88 rows=8116 width=73) (actual time=0.004..1.459 rows=8116 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_261_chunk  (cost=0.12..979.48 rows=8470000 width=25) (actual time=0.021..254.619 rows=8455692 loops=1)
                     ->  Index Scan using compress_hyper_29_264_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_264_chunk  (cost=0.29..979.48 rows=8470 width=73) (actual time=0.010..1.589 rows=8470 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_263_chunk  (cost=0.12..904.78 rows=7816000 width=25) (actual time=0.037..237.716 rows=7803273 loops=1)
                     ->  Index Scan using compress_hyper_29_266_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_266_chunk  (cost=0.28..904.78 rows=7816 width=73) (actual time=0.028..1.534 rows=7816 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_265_chunk  (cost=0.12..972.69 rows=8230000 width=40) (actual time=0.015..247.595 rows=8215575 loops=1)
                     ->  Index Scan using compress_hyper_29_268_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_268_chunk  (cost=0.29..972.69 rows=8230 width=73) (actual time=0.005..1.515 rows=8230 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_267_chunk  (cost=0.12..969.77 rows=8109000 width=40) (actual time=0.017..236.722 rows=8095724 loops=1)
                     ->  Index Scan using compress_hyper_29_271_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_271_chunk  (cost=0.28..969.77 rows=8109 width=73) (actual time=0.005..1.380 rows=8109 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_269_chunk  (cost=0.12..975.79 rows=8363000 width=40) (actual time=0.015..246.516 rows=8351217 loops=1)
                     ->  Index Scan using compress_hyper_29_272_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_272_chunk  (cost=0.29..975.79 rows=8363 width=73) (actual time=0.005..1.491 rows=8363 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_270_chunk  (cost=0.12..1051.18 rows=8789000 width=40) (actual time=0.016..255.326 rows=8774385 loops=1)
                     ->  Index Scan using compress_hyper_29_275_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_275_chunk  (cost=0.29..1051.18 rows=8789 width=73) (actual time=0.005..1.487 rows=8789 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_273_chunk  (cost=0.12..972.90 rows=8244000 width=40) (actual time=0.015..243.615 rows=8221774 loops=1)
                     ->  Index Scan using compress_hyper_29_279_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_279_chunk  (cost=0.29..972.90 rows=8244 width=73) (actual time=0.004..1.469 rows=8244 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_274_chunk  (cost=0.12..1208.99 rows=9963000 width=40) (actual time=0.020..291.541 rows=9941460 loops=1)
                     ->  Index Scan using compress_hyper_29_280_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_280_chunk  (cost=0.29..1208.99 rows=9963 width=73) (actual time=0.005..1.703 rows=9963 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_276_chunk  (cost=0.12..1211.81 rows=10151000 width=40) (actual time=0.017..302.607 rows=10129549 loops=1)
                     ->  Index Scan using compress_hyper_29_281_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_281_chunk  (cost=0.29..1211.81 rows=10151 width=73) (actual time=0.005..1.821 rows=10151 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_277_chunk  (cost=0.12..1214.21 rows=10238000 width=40) (actual time=0.021..307.264 rows=10216921 loops=1)
                     ->  Index Scan using compress_hyper_29_282_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_282_chunk  (cost=0.29..1214.21 rows=10238 width=73) (actual time=0.005..1.914 rows=10238 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_278_chunk  (cost=0.12..1289.03 rows=10626000 width=40) (actual time=0.015..319.064 rows=10604314 loops=1)
                     ->  Index Scan using compress_hyper_29_284_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_284_chunk  (cost=0.29..1289.03 rows=10626 width=73) (actual time=0.004..1.998 rows=10626 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_283_chunk  (cost=0.12..1219.26 rows=10501000 width=40) (actual time=0.017..312.439 rows=10478586 loops=1)
                     ->  Index Scan using compress_hyper_29_286_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_286_chunk  (cost=0.29..1219.26 rows=10501 width=73) (actual time=0.004..1.882 rows=10501 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_285_chunk  (cost=0.12..1289.42 rows=10652000 width=40) (actual time=0.015..314.603 rows=10629454 loops=1)
                     ->  Index Scan using compress_hyper_29_288_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_288_chunk  (cost=0.29..1289.42 rows=10652 width=73) (actual time=0.005..1.945 rows=10652 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_287_chunk  (cost=0.12..1220.02 rows=10552000 width=40) (actual time=0.014..311.003 rows=10529890 loops=1)
                     ->  Index Scan using compress_hyper_29_290_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_290_chunk  (cost=0.29..1220.02 rows=10552 width=73) (actual time=0.003..1.801 rows=10552 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_289_chunk  (cost=0.12..1214.89 rows=10283000 width=40) (actual time=0.016..301.080 rows=10261251 loops=1)
                     ->  Index Scan using compress_hyper_29_292_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_292_chunk  (cost=0.29..1214.89 rows=10283 width=73) (actual time=0.004..1.802 rows=10283 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_291_chunk  (cost=0.12..1127.42 rows=9272000 width=40) (actual time=0.018..274.359 rows=9247130 loops=1)
                     ->  Index Scan using compress_hyper_29_294_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_294_chunk  (cost=0.29..1127.42 rows=9272 width=73) (actual time=0.005..1.639 rows=9272 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_293_chunk  (cost=0.12..1138.22 rows=9772000 width=40) (actual time=0.014..296.719 rows=9753975 loops=1)
                     ->  Index Scan using compress_hyper_29_306_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_306_chunk  (cost=0.29..1138.22 rows=9772 width=73) (actual time=0.003..1.894 rows=9772 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_295_chunk  (cost=0.12..1135.91 rows=9691000 width=40) (actual time=0.017..293.479 rows=9670316 loops=1)
                     ->  Index Scan using compress_hyper_29_308_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_308_chunk  (cost=0.29..1135.91 rows=9691 width=73) (actual time=0.004..1.835 rows=9691 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_296_chunk  (cost=0.12..1214.65 rows=10267000 width=40) (actual time=0.015..309.161 rows=10245425 loops=1)
                     ->  Index Scan using compress_hyper_29_310_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_310_chunk  (cost=0.29..1214.65 rows=10267 width=73) (actual time=0.004..1.844 rows=10267 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_297_chunk  (cost=0.12..1292.61 rows=10791000 width=40) (actual time=0.018..319.174 rows=10771981 loops=1)
                     ->  Index Scan using compress_hyper_29_312_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_312_chunk  (cost=0.29..1292.61 rows=10791 width=73) (actual time=0.005..1.947 rows=10791 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_298_chunk  (cost=0.12..1219.50 rows=10517000 width=40) (actual time=0.014..317.134 rows=10496365 loops=1)
                     ->  Index Scan using compress_hyper_29_313_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_313_chunk  (cost=0.29..1219.50 rows=10517 width=73) (actual time=0.003..1.948 rows=10517 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_299_chunk  (cost=0.12..1217.68 rows=10396000 width=40) (actual time=0.014..315.275 rows=10374287 loops=1)
                     ->  Index Scan using compress_hyper_29_318_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_318_chunk  (cost=0.29..1217.68 rows=10396 width=73) (actual time=0.003..1.947 rows=10396 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_300_chunk  (cost=0.12..1288.87 rows=10615000 width=40) (actual time=0.015..314.407 rows=10594436 loops=1)
                     ->  Index Scan using compress_hyper_29_319_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_319_chunk  (cost=0.29..1288.87 rows=10615 width=73) (actual time=0.003..1.908 rows=10615 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_301_chunk  (cost=0.12..1289.84 rows=10680000 width=40) (actual time=0.017..315.431 rows=10659183 loops=1)
                     ->  Index Scan using compress_hyper_29_321_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_321_chunk  (cost=0.29..1289.84 rows=10680 width=73) (actual time=0.005..1.888 rows=10680 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_302_chunk  (cost=0.12..1208.70 rows=9944000 width=40) (actual time=0.016..306.633 rows=9924085 loops=1)
                     ->  Index Scan using compress_hyper_29_323_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_323_chunk  (cost=0.29..1208.70 rows=9944 width=73) (actual time=0.004..1.963 rows=9944 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_303_chunk  (cost=0.12..1210.68 rows=10076000 width=40) (actual time=0.017..311.601 rows=10057149 loops=1)
                     ->  Index Scan using compress_hyper_29_325_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_325_chunk  (cost=0.29..1210.68 rows=10076 width=73) (actual time=0.006..1.871 rows=10076 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_304_chunk  (cost=0.12..1287.39 rows=10590000 width=40) (actual time=0.015..312.133 rows=10570459 loops=1)
                     ->  Index Scan using compress_hyper_29_326_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_326_chunk  (cost=0.29..1287.39 rows=10590 width=73) (actual time=0.004..1.788 rows=10590 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_305_chunk  (cost=0.12..1134.98 rows=9629000 width=40) (actual time=0.016..284.757 rows=9608182 loops=1)
                     ->  Index Scan using compress_hyper_29_328_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_328_chunk  (cost=0.29..1134.98 rows=9629 width=73) (actual time=0.004..1.675 rows=9629 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_307_chunk  (cost=0.12..1298.13 rows=11086000 width=40) (actual time=0.020..329.497 rows=11063721 loops=1)
                     ->  Index Scan using compress_hyper_29_329_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_329_chunk  (cost=0.29..1298.13 rows=11086 width=73) (actual time=0.008..1.945 rows=11086 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_309_chunk  (cost=0.12..1293.79 rows=10870000 width=40) (actual time=0.015..319.877 rows=10848249 loops=1)
                     ->  Index Scan using compress_hyper_29_330_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_330_chunk  (cost=0.29..1293.79 rows=10870 width=73) (actual time=0.004..1.877 rows=10870 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_311_chunk  (cost=0.12..1298.64 rows=11120000 width=40) (actual time=0.014..328.330 rows=11098917 loops=1)
                     ->  Index Scan using compress_hyper_29_332_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_332_chunk  (cost=0.29..1298.64 rows=11120 width=73) (actual time=0.004..1.924 rows=11120 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_314_chunk  (cost=0.12..889.17 rows=7409000 width=40) (actual time=0.016..228.159 rows=7387295 loops=1)
                     ->  Index Scan using compress_hyper_29_333_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_333_chunk  (cost=0.28..889.17 rows=7409 width=73) (actual time=0.004..1.439 rows=7409 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_315_chunk  (cost=0.12..971.94 rows=8180000 width=40) (actual time=0.012..249.905 rows=8160958 loops=1)
                     ->  Index Scan using compress_hyper_29_334_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_334_chunk  (cost=0.28..971.94 rows=8180 width=73) (actual time=0.003..1.590 rows=8180 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_316_chunk  (cost=0.12..1297.32 rows=11032000 width=40) (actual time=0.013..330.117 rows=11014636 loops=1)
                     ->  Index Scan using compress_hyper_29_336_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_336_chunk  (cost=0.29..1297.32 rows=11032 width=73) (actual time=0.004..2.023 rows=11032 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_317_chunk  (cost=0.12..1297.34 rows=11033000 width=40) (actual time=0.015..326.512 rows=11013976 loops=1)
                     ->  Index Scan using compress_hyper_29_338_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_338_chunk  (cost=0.29..1297.34 rows=11033 width=73) (actual time=0.003..1.934 rows=11033 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_320_chunk  (cost=0.12..1369.21 rows=11298000 width=40) (actual time=0.016..340.855 rows=11276180 loops=1)
                     ->  Index Scan using compress_hyper_29_339_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_339_chunk  (cost=0.29..1369.21 rows=11298 width=73) (actual time=0.004..2.214 rows=11298 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_322_chunk  (cost=0.12..1296.96 rows=11008000 width=40) (actual time=0.016..328.251 rows=10986110 loops=1)
                     ->  Index Scan using compress_hyper_29_340_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_340_chunk  (cost=0.29..1296.96 rows=11008 width=73) (actual time=0.003..1.960 rows=11008 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_324_chunk  (cost=0.12..1370.13 rows=11359000 width=40) (actual time=0.014..342.193 rows=11333209 loops=1)
                     ->  Index Scan using compress_hyper_29_341_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_341_chunk  (cost=0.29..1370.13 rows=11359 width=73) (actual time=0.005..2.088 rows=11359 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_327_chunk  (cost=0.12..1219.83 rows=10539000 width=40) (actual time=0.012..317.076 rows=10518893 loops=1)
                     ->  Index Scan using compress_hyper_29_342_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_342_chunk  (cost=0.29..1219.83 rows=10539 width=73) (actual time=0.003..1.973 rows=10539 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_331_chunk  (cost=0.12..1218.15 rows=10427000 width=40) (actual time=0.011..317.912 rows=10404388 loops=1)
                     ->  Index Scan using compress_hyper_29_343_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_343_chunk  (cost=0.29..1218.15 rows=10427 width=73) (actual time=0.003..1.999 rows=10427 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_335_chunk  (cost=0.12..1290.17 rows=10702000 width=40) (actual time=0.012..328.122 rows=10682016 loops=1)
                     ->  Index Scan using compress_hyper_29_344_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_344_chunk  (cost=0.29..1290.17 rows=10702 width=73) (actual time=0.004..2.112 rows=10702 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_337_chunk  (cost=0.12..1297.14 rows=11020000 width=25) (actual time=0.011..348.169 rows=10999599 loops=1)
                     ->  Index Scan using compress_hyper_29_350_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_350_chunk  (cost=0.29..1297.14 rows=11020 width=73) (actual time=0.003..2.407 rows=11020 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_345_chunk  (cost=0.12..1217.77 rows=10402000 width=40) (actual time=0.012..323.082 rows=10379787 loops=1)
                     ->  Index Scan using compress_hyper_29_351_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_351_chunk  (cost=0.29..1217.77 rows=10402 width=73) (actual time=0.004..2.125 rows=10402 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_346_chunk  (cost=0.12..1214.96 rows=10288000 width=40) (actual time=0.010..314.768 rows=10269367 loops=1)
                     ->  Index Scan using compress_hyper_29_352_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_352_chunk  (cost=0.29..1214.96 rows=10288 width=73) (actual time=0.003..2.042 rows=10288 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_347_chunk  (cost=0.12..1211.18 rows=10109000 width=40) (actual time=0.011..317.385 rows=10088316 loops=1)
                     ->  Index Scan using compress_hyper_29_353_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_353_chunk  (cost=0.29..1211.18 rows=10109 width=73) (actual time=0.003..2.053 rows=10109 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_348_chunk  (cost=0.12..1051.18 rows=8789000 width=40) (actual time=0.012..273.899 rows=8765716 loops=1)
                     ->  Index Scan using compress_hyper_29_354_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_354_chunk  (cost=0.29..1051.18 rows=8789 width=73) (actual time=0.003..1.826 rows=8789 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_349_chunk  (cost=0.12..1217.62 rows=10392000 width=40) (actual time=0.012..318.987 rows=10372106 loops=1)
                     ->  Index Scan using compress_hyper_29_358_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_358_chunk  (cost=0.29..1217.62 rows=10392 width=73) (actual time=0.003..1.986 rows=10392 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_355_chunk  (cost=0.12..1375.79 rows=11590000 width=25) (actual time=0.011..351.698 rows=11568333 loops=1)
                     ->  Index Scan using compress_hyper_29_368_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_368_chunk  (cost=0.29..1375.79 rows=11590 width=73) (actual time=0.003..2.148 rows=11590 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_356_chunk  (cost=0.12..1294.66 rows=10928000 width=25) (actual time=0.011..324.003 rows=10906655 loops=1)
                     ->  Index Scan using compress_hyper_29_378_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_378_chunk  (cost=0.29..1294.66 rows=10928 width=73) (actual time=0.003..1.985 rows=10928 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_357_chunk  (cost=0.12..1217.49 rows=10383000 width=25) (actual time=0.011..312.837 rows=10359475 loops=1)
                     ->  Index Scan using compress_hyper_29_369_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_369_chunk  (cost=0.29..1217.49 rows=10383 width=73) (actual time=0.003..1.886 rows=10383 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_359_chunk  (cost=0.12..1210.56 rows=10068000 width=25) (actual time=0.014..302.251 rows=10046841 loops=1)
                     ->  Index Scan using compress_hyper_29_370_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_370_chunk  (cost=0.29..1210.56 rows=10068 width=73) (actual time=0.003..1.865 rows=10068 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_360_chunk  (cost=0.12..1127.00 rows=9244000 width=25) (actual time=0.012..279.283 rows=9220423 loops=1)
                     ->  Index Scan using compress_hyper_29_371_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_371_chunk  (cost=0.29..1127.00 rows=9244 width=73) (actual time=0.003..1.732 rows=9244 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_361_chunk  (cost=0.12..1132.81 rows=9558000 width=25) (actual time=0.011..291.579 rows=9536652 loops=1)
                     ->  Index Scan using compress_hyper_29_372_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_372_chunk  (cost=0.29..1132.81 rows=9558 width=73) (actual time=0.003..1.861 rows=9558 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_362_chunk  (cost=0.12..1067.18 rows=9222000 width=25) (actual time=0.011..281.074 rows=9202480 loops=1)
                     ->  Index Scan using compress_hyper_29_373_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_373_chunk  (cost=0.29..1067.18 rows=9222 width=73) (actual time=0.003..1.751 rows=9222 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_363_chunk  (cost=0.12..1292.71 rows=10798000 width=25) (actual time=0.012..299.909 rows=10138801 loops=1)
                     ->  Index Scan using compress_hyper_29_374_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_374_chunk  (cost=0.29..1292.71 rows=10798 width=73) (actual time=0.004..1.878 rows=10162 loops=1)
               ->  Sort  (cost=88000.53..89577.42 rows=630754 width=25) (actual time=210.077..252.166 rows=636000 loops=1)
                     Sort Key: _hyper_28_363_chunk.ticker, _hyper_28_363_chunk.bar_start
                     Sort Method: external merge  Disk: 26160kB
                     ->  Index Only Scan using _hyper_28_363_chunk__materialized_hypertable_28_ticker_bar_star on _hyper_28_363_chunk  (cost=0.42..18398.14 rows=630754 width=25) (actual time=0.005..28.651 rows=636000 loops=1)
                           Heap Fetches: 0
               ->  Custom Scan (DecompressChunk) on _hyper_28_364_chunk  (cost=0.12..1214.81 rows=10278000 width=25) (actual time=0.036..305.898 rows=10257439 loops=1)
                     ->  Index Scan using compress_hyper_29_375_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_375_chunk  (cost=0.29..1214.81 rows=10278 width=73) (actual time=0.010..1.848 rows=10278 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_365_chunk  (cost=0.12..1138.55 rows=9794000 width=25) (actual time=0.017..294.553 rows=9772470 loops=1)
                     ->  Index Scan using compress_hyper_29_376_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_376_chunk  (cost=0.29..1138.55 rows=9794 width=73) (actual time=0.004..1.724 rows=9794 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_366_chunk  (cost=0.12..1211.67 rows=10142000 width=25) (actual time=0.022..299.378 rows=10117685 loops=1)
                     ->  Index Scan using compress_hyper_29_377_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_377_chunk  (cost=0.29..1211.67 rows=10142 width=73) (actual time=0.007..1.800 rows=10142 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_367_chunk  (cost=0.12..1139.23 rows=9839000 width=25) (actual time=0.018..292.186 rows=9820024 loops=1)
                     ->  Index Scan using compress_hyper_29_606_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_606_chunk  (cost=0.29..1139.23 rows=9839 width=73) (actual time=0.005..1.680 rows=9839 loops=1)
               ->  Custom Scan (DecompressChunk) on _hyper_28_600_chunk  (cost=0.12..372.96 rows=3203000 width=25) (actual time=0.023..95.589 rows=3180992 loops=1)
                     ->  Index Scan using compress_hyper_29_612_chunk_ticker__ts_meta_sequence_num_idx on compress_hyper_29_612_chunk  (cost=0.28..372.96 rows=3203 width=73) (actual time=0.007..0.605 rows=3203 loops=1)
 Planning Time: 3.637 ms
 Execution Time: 122785.265 ms
(157 rows)