Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Timescale scans all chunks if timestamp is not computable at query time, even though it is bounded #5352

Open
moodgorning opened this issue Feb 21, 2023 · 4 comments
Labels

Comments

@moodgorning
Copy link

moodgorning commented Feb 21, 2023

What type of bug is this?

Performance issue

What subsystems and features are affected?

Query executor, Query planner

What happened?

We are experiencing bad performance when the time bounds of a query are not passe in as constants. This happens frequently, for example when we need to query daily aggregates in the timezone of a particular location. As a workaround, we can add additional constraints to query data within +/- 1 day of the specified time interval. It would be great if this could be automated though, as it should be possible to deduct these additional time exclusions from the timezone statements. The improved query runs 15 times faster

An example is illustrated below with queries and resulting plans

Good plan:
This query adds additional time bounds with +/- 24 hours to have constant time bounds that will include the needed time interval guaranteed. Adding these redundant constraints improves performance significantly

EXPLAIN (ANALYSE, FORMAT JSON)
SELECT *
FROM node_measurements
join positions p ON node_measurements.position_id = p.position_id
join locations l on p.location_id = l.location_id
-- due to the timezone conversion that depends on reading the timezone from the DB the timestamps can not be computed or known before execution.
WHERE time between timezone(l.timezone , '2023-01-02 00:00:00+0000'::timestamptz) and timezone(l.timezone,'2023-01-03 23:59:59+0000'::timestamptz)
-- The below constraint is not needed but improves performance significantly as it allows the planner to exclude chunks at planning time due to these timestamps being constants
AND time between '2023-01-01 00:00:00+0000'::timestamptz and '2023-01-04 23:59:59+0000'::timestamptz
AND location_name = 'Max Home'
AND measurement_type = 'temperature_set'
AND src_mac_id = 'FFFF14B4577FE5F0'
ORDER by time DESC limit 100;

Bad plan:

Without the extra constant time bounds in the query, the resulting plan is looking at every single chunk in the table instead of excluding them according to the time bounds of the query. The query runs significantly slower because of this.

EXPLAIN (ANALYSE, FORMAT JSON)
SELECT *
FROM node_measurements
join positions p ON node_measurements.position_id = p.position_id
join locations l on p.location_id = l.location_id
WHERE time between timezone(l.timezone , '2023-01-02 00:00:00+0000'::timestamptz) and timezone(l.timezone,'2023-01-03 23:59:59+0000'::timestamptz)
AND location_name = 'Max Home'
AND measurement_type = 'temperature_set'
AND src_mac_id = 'FFFF14B4577FE5F0'
ORDER by time DESC limit 100;

I did report this before here: #2670 but opening it again since it has been a while and is on a completely new version now. feel free

TimescaleDB version affected

2.8.1 and below, likely latest also

PostgreSQL version used

13.9

What operating system did you use?

whatever timescale powered by aiven is running on

What installation method did you use?

Other

What platform did you run on?

Amazon Web Services (AWS)

Relevant log output and stack trace

An example is illustrated below with queries and resulting plans

Good plan:
This query adds additional time bounds with +/- 24 hours to have constant time bounds that will include the needed time interval guranteed. Adding these redundant constraints improves performance significantly

EXPLAIN (ANALYSE, FORMAT JSON)
SELECT *
FROM node_measurements
join positions p ON node_measurements.position_id = p.position_id
join locations l on p.location_id = l.location_id
-- due to the timezone conversion that depends on reading the timezone from the DB the timestamps can not be computed or known before execution.
WHERE time between timezone(l.timezone , '2023-01-02 00:00:00+0000'::timestamptz) and timezone(l.timezone,'2023-01-03 23:59:59+0000'::timestamptz)
-- The below constraint is not needed, but improves performance significantly as it allows the planner to exclude chunks at planning time due to these timestamp being constants
AND time between '2023-01-01 00:00:00+0000'::timestamptz and '2023-01-04 23:59:59+0000'::timestamptz 
AND location_name = 'Max Home'
AND measurement_type = 'temperature_set'
AND src_mac_id = 'FFFF14B4577FE5F0'
ORDER by time DESC limit 100;


Explain analyse output:


[
  {
    "Plan": {
      "Node Type": "Limit",
      "Parallel Aware": false,
      "Startup Cost": 106.72,
      "Total Cost": 106.72,
      "Plan Rows": 1,
      "Plan Width": 318,
      "Actual Startup Time": 1.796,
      "Actual Total Time": 1.819,
      "Actual Rows": 100,
      "Actual Loops": 1,
      "Plans": [
        {
          "Node Type": "Sort",
          "Parent Relationship": "Outer",
          "Parallel Aware": false,
          "Startup Cost": 106.72,
          "Total Cost": 106.72,
          "Plan Rows": 1,
          "Plan Width": 318,
          "Actual Startup Time": 1.795,
          "Actual Total Time": 1.809,
          "Actual Rows": 100,
          "Actual Loops": 1,
          "Sort Key": ["_hyper_5_34873_chunk.\"time\" DESC"],
          "Sort Method": "top-N heapsort",
          "Sort Space Used": 51,
          "Sort Space Type": "Memory",
          "Plans": [
            {
              "Node Type": "Nested Loop",
              "Parent Relationship": "Outer",
              "Parallel Aware": false,
              "Join Type": "Inner",
              "Startup Cost": 0.99,
              "Total Cost": 106.71,
              "Plan Rows": 1,
              "Plan Width": 318,
              "Actual Startup Time": 0.127,
              "Actual Total Time": 1.568,
              "Actual Rows": 218,
              "Actual Loops": 1,
              "Inner Unique": true,
              "Join Filter": "(l.location_id = p.location_id)",
              "Rows Removed by Join Filter": 0,
              "Plans": [
                {
                  "Node Type": "Nested Loop",
                  "Parent Relationship": "Outer",
                  "Parallel Aware": false,
                  "Join Type": "Inner",
                  "Startup Cost": 0.71,
                  "Total Cost": 53.66,
                  "Plan Rows": 34,
                  "Plan Width": 238,
                  "Actual Startup Time": 0.113,
                  "Actual Total Time": 1.030,
                  "Actual Rows": 218,
                  "Actual Loops": 1,
                  "Inner Unique": false,
                  "Plans": [
                    {
                      "Node Type": "Index Scan",
                      "Parent Relationship": "Outer",
                      "Parallel Aware": false,
                      "Scan Direction": "Forward",
                      "Index Name": "locations_name_k",
                      "Relation Name": "locations",
                      "Alias": "l",
                      "Startup Cost": 0.14,
                      "Total Cost": 2.16,
                      "Plan Rows": 1,
                      "Plan Width": 176,
                      "Actual Startup Time": 0.019,
                      "Actual Total Time": 0.021,
                      "Actual Rows": 1,
                      "Actual Loops": 1,
                      "Index Cond": "(location_name = 'Max Home'::text)",
                      "Rows Removed by Index Recheck": 0
                    },
                    {
                      "Node Type": "Append",
                      "Parent Relationship": "Inner",
                      "Parallel Aware": false,
                      "Startup Cost": 0.56,
                      "Total Cost": 51.18,
                      "Plan Rows": 32,
                      "Plan Width": 62,
                      "Actual Startup Time": 0.090,
                      "Actual Total Time": 0.941,
                      "Actual Rows": 218,
                      "Actual Loops": 1,
                      "Subplans Removed": 0,
                      "Plans": [
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34873_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34873_chunk",
                          "Alias": "_hyper_5_34873_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.32,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.044,
                          "Actual Total Time": 0.044,
                          "Actual Rows": 0,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34872_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34872_chunk",
                          "Alias": "_hyper_5_34872_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.40,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.035,
                          "Actual Total Time": 0.169,
                          "Actual Rows": 33,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34869_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34869_chunk",
                          "Alias": "_hyper_5_34869_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.36,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.052,
                          "Actual Total Time": 0.220,
                          "Actual Rows": 64,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34868_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34868_chunk",
                          "Alias": "_hyper_5_34868_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.40,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.060,
                          "Actual Total Time": 0.215,
                          "Actual Rows": 75,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34867_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34867_chunk",
                          "Alias": "_hyper_5_34867_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.36,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.051,
                          "Actual Total Time": 0.143,
                          "Actual Rows": 46,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34864_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34864_chunk",
                          "Alias": "_hyper_5_34864_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.40,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.029,
                          "Actual Total Time": 0.030,
                          "Actual Rows": 0,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34861_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34861_chunk",
                          "Alias": "_hyper_5_34861_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.34,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.028,
                          "Actual Total Time": 0.028,
                          "Actual Rows": 0,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        },
                        {
                          "Node Type": "Index Scan",
                          "Parent Relationship": "Member",
                          "Parallel Aware": false,
                          "Scan Direction": "Forward",
                          "Index Name": "_hyper_5_34855_chunk_node_measurements_unique_idx",
                          "Relation Name": "_hyper_5_34855_chunk",
                          "Alias": "_hyper_5_34855_chunk",
                          "Startup Cost": 0.56,
                          "Total Cost": 6.40,
                          "Plan Rows": 4,
                          "Plan Width": 62,
                          "Actual Startup Time": 0.027,
                          "Actual Total Time": 0.028,
                          "Actual Rows": 0,
                          "Actual Loops": 1,
                          "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)) AND (\"time\" >= '2023-01-01 00:00:00+00'::timestamp with time zone) AND (\"time\" <= '2023-01-04 23:59:59+00'::timestamp with time zone))",
                          "Rows Removed by Index Recheck": 0
                        }
                      ]
                    }
                  ]
                },
                {
                  "Node Type": "Index Scan",
                  "Parent Relationship": "Inner",
                  "Parallel Aware": false,
                  "Scan Direction": "Forward",
                  "Index Name": "positions_pkey",
                  "Relation Name": "positions",
                  "Alias": "p",
                  "Startup Cost": 0.29,
                  "Total Cost": 1.55,
                  "Plan Rows": 1,
                  "Plan Width": 80,
                  "Actual Startup Time": 0.002,
                  "Actual Total Time": 0.002,
                  "Actual Rows": 1,
                  "Actual Loops": 218,
                  "Index Cond": "(position_id = _hyper_5_34873_chunk.position_id)",
                  "Rows Removed by Index Recheck": 0
                }
              ]
            }
          ]
        }
      ]
    },
    "Planning Time": 3.770,
    "Triggers": [
    ],
    "Execution Time": 2.030
  }
]


Bad plan:

Without the extra constant time bounds in the query the resulting plan is looking at every single chunk in the table instead of excluding them according to the timebounds of the query. The query runs significantly slower because of this.

EXPLAIN (ANALYSE, FORMAT JSON)
SELECT *
FROM node_measurements
join positions p ON node_measurements.position_id = p.position_id
join locations l on p.location_id = l.location_id
WHERE time between timezone(l.timezone , '2023-01-02 00:00:00+0000'::timestamptz) and timezone(l.timezone,'2023-01-03 23:59:59+0000'::timestamptz)
AND location_name = 'Max Home'
AND measurement_type = 'temperature_set'
AND src_mac_id = 'FFFF14B4577FE5F0'
ORDER by time DESC limit 100;

Output:

[
  {
    "Plan": {
      "Node Type": "Limit",
      "Parallel Aware": false,
      "Startup Cost": 1815.14,
      "Total Cost": 1815.16,
      "Plan Rows": 6,
      "Plan Width": 318,
      "Actual Startup Time": 24.407,
      "Actual Total Time": 24.571,
      "Actual Rows": 100,
      "Actual Loops": 1,
      "Plans": [
        {
          "Node Type": "Sort",
          "Parent Relationship": "Outer",
          "Parallel Aware": false,
          "Startup Cost": 1815.14,
          "Total Cost": 1815.16,
          "Plan Rows": 6,
          "Plan Width": 318,
          "Actual Startup Time": 24.405,
          "Actual Total Time": 24.558,
          "Actual Rows": 100,
          "Actual Loops": 1,
          "Sort Key": ["_hyper_5_34905_chunk.\"time\" DESC"],
          "Sort Method": "top-N heapsort",
          "Sort Space Used": 78,
          "Sort Space Type": "Memory",
          "Plans": [
            {
              "Node Type": "Hash Join",
              "Parent Relationship": "Outer",
              "Parallel Aware": false,
              "Join Type": "Inner",
              "Startup Cost": 952.14,
              "Total Cost": 1815.07,
              "Plan Rows": 6,
              "Plan Width": 318,
              "Actual Startup Time": 11.216,
              "Actual Total Time": 24.257,
              "Actual Rows": 218,
              "Actual Loops": 1,
              "Inner Unique": false,
              "Hash Cond": "((p.position_id = _hyper_5_34905_chunk.position_id) AND (p.location_id = l.location_id))",
              "Plans": [
                {
                  "Node Type": "Seq Scan",
                  "Parent Relationship": "Outer",
                  "Parallel Aware": false,
                  "Relation Name": "positions",
                  "Alias": "p",
                  "Startup Cost": 0.00,
                  "Total Cost": 654.21,
                  "Plan Rows": 27821,
                  "Plan Width": 80,
                  "Actual Startup Time": 0.016,
                  "Actual Total Time": 4.395,
                  "Actual Rows": 27860,
                  "Actual Loops": 1
                },
                {
                  "Node Type": "Hash",
                  "Parent Relationship": "Inner",
                  "Parallel Aware": false,
                  "Startup Cost": 942.75,
                  "Total Cost": 942.75,
                  "Plan Rows": 626,
                  "Plan Width": 238,
                  "Actual Startup Time": 9.866,
                  "Actual Total Time": 10.001,
                  "Actual Rows": 218,
                  "Actual Loops": 1,
                  "Hash Buckets": 1024,
                  "Original Hash Buckets": 1024,
                  "Hash Batches": 1,
                  "Original Hash Batches": 1,
                  "Peak Memory Usage": 50,
                  "Plans": [
                    {
                      "Node Type": "Nested Loop",
                      "Parent Relationship": "Outer",
                      "Parallel Aware": false,
                      "Join Type": "Inner",
                      "Startup Cost": 0.56,
                      "Total Cost": 942.75,
                      "Plan Rows": 626,
                      "Plan Width": 238,
                      "Actual Startup Time": 1.226,
                      "Actual Total Time": 9.782,
                      "Actual Rows": 218,
                      "Actual Loops": 1,
                      "Inner Unique": false,
                      "Plans": [
                        {
                          "Node Type": "Seq Scan",
                          "Parent Relationship": "Outer",
                          "Parallel Aware": false,
                          "Relation Name": "locations",
                          "Alias": "l",
                          "Startup Cost": 0.00,
                          "Total Cost": 8.22,
                          "Plan Rows": 1,
                          "Plan Width": 176,
                          "Actual Startup Time": 0.042,
                          "Actual Total Time": 0.055,
                          "Actual Rows": 1,
                          "Actual Loops": 1,
                          "Filter": "(location_name = 'Max Home'::text)",
                          "Rows Removed by Filter": 99
                        },
                        {
                          "Node Type": "Append",
                          "Parent Relationship": "Inner",
                          "Parallel Aware": false,
                          "Startup Cost": 0.56,
                          "Total Cost": 928.45,
                          "Plan Rows": 607,
                          "Plan Width": 62,
                          "Actual Startup Time": 1.128,
                          "Actual Total Time": 9.553,
                          "Actual Rows": 218,
                          "Actual Loops": 1,
                          "Subplans Removed": 0,
                          "Plans": [
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34905_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34905_chunk",
                              "Alias": "_hyper_5_34905_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 2.69,
                              "Plan Rows": 1,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.044,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34904_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34904_chunk",
                              "Alias": "_hyper_5_34904_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.051,
                              "Actual Total Time": 0.052,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34903_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34903_chunk",
                              "Alias": "_hyper_5_34903_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.039,
                              "Actual Total Time": 0.040,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34902_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34902_chunk",
                              "Alias": "_hyper_5_34902_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.064,
                              "Actual Total Time": 0.064,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34901_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34901_chunk",
                              "Alias": "_hyper_5_34901_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.042,
                              "Actual Total Time": 0.042,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34899_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34899_chunk",
                              "Alias": "_hyper_5_34899_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.050,
                              "Actual Total Time": 0.051,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34896_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34896_chunk",
                              "Alias": "_hyper_5_34896_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.038,
                              "Actual Total Time": 0.038,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34894_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34894_chunk",
                              "Alias": "_hyper_5_34894_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.044,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34893_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34893_chunk",
                              "Alias": "_hyper_5_34893_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.046,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34891_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34891_chunk",
                              "Alias": "_hyper_5_34891_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.061,
                              "Actual Total Time": 0.061,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34890_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34890_chunk",
                              "Alias": "_hyper_5_34890_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.057,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34887_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34887_chunk",
                              "Alias": "_hyper_5_34887_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 31.01,
                              "Plan Rows": 24,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.092,
                              "Actual Total Time": 0.092,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34884_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34884_chunk",
                              "Alias": "_hyper_5_34884_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.056,
                              "Actual Total Time": 0.056,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34883_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34883_chunk",
                              "Alias": "_hyper_5_34883_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.085,
                              "Actual Total Time": 0.085,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34882_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34882_chunk",
                              "Alias": "_hyper_5_34882_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.043,
                              "Actual Total Time": 0.043,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34881_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34881_chunk",
                              "Alias": "_hyper_5_34881_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.053,
                              "Actual Total Time": 0.054,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34878_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34878_chunk",
                              "Alias": "_hyper_5_34878_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.043,
                              "Actual Total Time": 0.043,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34875_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34875_chunk",
                              "Alias": "_hyper_5_34875_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.085,
                              "Actual Total Time": 0.086,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34873_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34873_chunk",
                              "Alias": "_hyper_5_34873_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.041,
                              "Actual Total Time": 0.041,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34872_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34872_chunk",
                              "Alias": "_hyper_5_34872_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.034,
                              "Actual Total Time": 0.111,
                              "Actual Rows": 33,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34869_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34869_chunk",
                              "Alias": "_hyper_5_34869_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.082,
                              "Actual Total Time": 0.244,
                              "Actual Rows": 64,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34868_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34868_chunk",
                              "Alias": "_hyper_5_34868_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.197,
                              "Actual Rows": 75,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34867_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34867_chunk",
                              "Alias": "_hyper_5_34867_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.062,
                              "Actual Total Time": 0.150,
                              "Actual Rows": 46,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34864_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34864_chunk",
                              "Alias": "_hyper_5_34864_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.040,
                              "Actual Total Time": 0.040,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34861_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34861_chunk",
                              "Alias": "_hyper_5_34861_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.038,
                              "Actual Total Time": 0.039,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34855_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34855_chunk",
                              "Alias": "_hyper_5_34855_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.032,
                              "Actual Total Time": 0.032,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34854_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34854_chunk",
                              "Alias": "_hyper_5_34854_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.034,
                              "Actual Total Time": 0.035,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34850_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34850_chunk",
                              "Alias": "_hyper_5_34850_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.034,
                              "Actual Total Time": 0.034,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34849_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34849_chunk",
                              "Alias": "_hyper_5_34849_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.037,
                              "Actual Total Time": 0.038,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34846_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34846_chunk",
                              "Alias": "_hyper_5_34846_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.195,
                              "Actual Total Time": 0.195,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34843_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34843_chunk",
                              "Alias": "_hyper_5_34843_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.054,
                              "Actual Total Time": 0.055,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34842_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34842_chunk",
                              "Alias": "_hyper_5_34842_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.060,
                              "Actual Total Time": 0.060,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34841_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34841_chunk",
                              "Alias": "_hyper_5_34841_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.051,
                              "Actual Total Time": 0.051,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34840_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34840_chunk",
                              "Alias": "_hyper_5_34840_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.057,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34838_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34838_chunk",
                              "Alias": "_hyper_5_34838_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.13,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.046,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34834_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34834_chunk",
                              "Alias": "_hyper_5_34834_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.062,
                              "Actual Total Time": 0.063,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34831_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34831_chunk",
                              "Alias": "_hyper_5_34831_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.049,
                              "Actual Total Time": 0.049,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34830_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34830_chunk",
                              "Alias": "_hyper_5_34830_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.070,
                              "Actual Total Time": 0.070,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34828_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34828_chunk",
                              "Alias": "_hyper_5_34828_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.050,
                              "Actual Total Time": 0.050,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34825_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34825_chunk",
                              "Alias": "_hyper_5_34825_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34823_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34823_chunk",
                              "Alias": "_hyper_5_34823_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.049,
                              "Actual Total Time": 0.049,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34820_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34820_chunk",
                              "Alias": "_hyper_5_34820_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.026,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34817_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34817_chunk",
                              "Alias": "_hyper_5_34817_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.044,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34814_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34814_chunk",
                              "Alias": "_hyper_5_34814_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.048,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34813_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34813_chunk",
                              "Alias": "_hyper_5_34813_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.043,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34812_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34812_chunk",
                              "Alias": "_hyper_5_34812_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.060,
                              "Actual Total Time": 0.060,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34811_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34811_chunk",
                              "Alias": "_hyper_5_34811_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.048,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34809_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34809_chunk",
                              "Alias": "_hyper_5_34809_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.057,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34806_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34806_chunk",
                              "Alias": "_hyper_5_34806_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.048,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34805_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34805_chunk",
                              "Alias": "_hyper_5_34805_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.064,
                              "Actual Total Time": 0.064,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34803_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34803_chunk",
                              "Alias": "_hyper_5_34803_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34802_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34802_chunk",
                              "Alias": "_hyper_5_34802_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.027,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34799_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34799_chunk",
                              "Alias": "_hyper_5_34799_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34793_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34793_chunk",
                              "Alias": "_hyper_5_34793_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34791_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34791_chunk",
                              "Alias": "_hyper_5_34791_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.026,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34790_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34790_chunk",
                              "Alias": "_hyper_5_34790_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.025,
                              "Actual Total Time": 0.026,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34789_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34789_chunk",
                              "Alias": "_hyper_5_34789_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.028,
                              "Actual Total Time": 0.028,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34787_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34787_chunk",
                              "Alias": "_hyper_5_34787_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.025,
                              "Actual Total Time": 0.025,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34786_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34786_chunk",
                              "Alias": "_hyper_5_34786_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.066,
                              "Actual Total Time": 0.067,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34778_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34778_chunk",
                              "Alias": "_hyper_5_34778_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.333,
                              "Actual Total Time": 0.334,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34775_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34775_chunk",
                              "Alias": "_hyper_5_34775_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.058,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34773_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34773_chunk",
                              "Alias": "_hyper_5_34773_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.058,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34771_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34771_chunk",
                              "Alias": "_hyper_5_34771_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.059,
                              "Actual Total Time": 0.059,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34737_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34737_chunk",
                              "Alias": "_hyper_5_34737_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.036,
                              "Actual Total Time": 0.036,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34736_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34736_chunk",
                              "Alias": "_hyper_5_34736_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.026,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34730_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34730_chunk",
                              "Alias": "_hyper_5_34730_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.027,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34726_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34726_chunk",
                              "Alias": "_hyper_5_34726_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.030,
                              "Actual Total Time": 0.030,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34723_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34723_chunk",
                              "Alias": "_hyper_5_34723_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.037,
                              "Actual Total Time": 0.038,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34722_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34722_chunk",
                              "Alias": "_hyper_5_34722_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.025,
                              "Actual Total Time": 0.025,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34720_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34720_chunk",
                              "Alias": "_hyper_5_34720_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.14,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.028,
                              "Actual Total Time": 0.028,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34719_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34719_chunk",
                              "Alias": "_hyper_5_34719_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.13,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.025,
                              "Actual Total Time": 0.026,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34717_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34717_chunk",
                              "Alias": "_hyper_5_34717_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34714_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34714_chunk",
                              "Alias": "_hyper_5_34714_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34713_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34713_chunk",
                              "Alias": "_hyper_5_34713_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.022,
                              "Actual Total Time": 0.023,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34712_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34712_chunk",
                              "Alias": "_hyper_5_34712_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.022,
                              "Actual Total Time": 0.023,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34711_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34711_chunk",
                              "Alias": "_hyper_5_34711_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.029,
                              "Actual Total Time": 0.029,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34710_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34710_chunk",
                              "Alias": "_hyper_5_34710_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.030,
                              "Actual Total Time": 0.031,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34705_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34705_chunk",
                              "Alias": "_hyper_5_34705_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.037,
                              "Actual Total Time": 0.037,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34702_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34702_chunk",
                              "Alias": "_hyper_5_34702_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.023,
                              "Actual Total Time": 0.023,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34700_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34700_chunk",
                              "Alias": "_hyper_5_34700_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.030,
                              "Actual Total Time": 0.030,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34699_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34699_chunk",
                              "Alias": "_hyper_5_34699_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.023,
                              "Actual Total Time": 0.023,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34695_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34695_chunk",
                              "Alias": "_hyper_5_34695_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34694_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34694_chunk",
                              "Alias": "_hyper_5_34694_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.027,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34692_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34692_chunk",
                              "Alias": "_hyper_5_34692_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34689_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34689_chunk",
                              "Alias": "_hyper_5_34689_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.026,
                              "Actual Total Time": 0.027,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34688_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34688_chunk",
                              "Alias": "_hyper_5_34688_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.027,
                              "Actual Total Time": 0.028,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34687_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34687_chunk",
                              "Alias": "_hyper_5_34687_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.16,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.027,
                              "Actual Total Time": 0.028,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34685_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34685_chunk",
                              "Alias": "_hyper_5_34685_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.044,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34684_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34684_chunk",
                              "Alias": "_hyper_5_34684_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.037,
                              "Actual Total Time": 0.037,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34682_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34682_chunk",
                              "Alias": "_hyper_5_34682_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.030,
                              "Actual Total Time": 0.030,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34679_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34679_chunk",
                              "Alias": "_hyper_5_34679_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34677_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34677_chunk",
                              "Alias": "_hyper_5_34677_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.061,
                              "Actual Total Time": 0.061,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34676_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34676_chunk",
                              "Alias": "_hyper_5_34676_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.062,
                              "Actual Total Time": 0.062,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34674_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34674_chunk",
                              "Alias": "_hyper_5_34674_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.059,
                              "Actual Total Time": 0.059,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34673_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34673_chunk",
                              "Alias": "_hyper_5_34673_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.042,
                              "Actual Total Time": 0.042,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34670_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34670_chunk",
                              "Alias": "_hyper_5_34670_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.050,
                              "Actual Total Time": 0.050,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34667_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34667_chunk",
                              "Alias": "_hyper_5_34667_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.043,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34666_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34666_chunk",
                              "Alias": "_hyper_5_34666_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.219,
                              "Actual Total Time": 0.220,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34664_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34664_chunk",
                              "Alias": "_hyper_5_34664_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.057,
                              "Actual Total Time": 0.057,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34663_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34663_chunk",
                              "Alias": "_hyper_5_34663_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.069,
                              "Actual Total Time": 0.069,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34662_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34662_chunk",
                              "Alias": "_hyper_5_34662_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.056,
                              "Actual Total Time": 0.057,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34658_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34658_chunk",
                              "Alias": "_hyper_5_34658_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.060,
                              "Actual Total Time": 0.060,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34657_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34657_chunk",
                              "Alias": "_hyper_5_34657_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.049,
                              "Actual Total Time": 0.050,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34655_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34655_chunk",
                              "Alias": "_hyper_5_34655_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.071,
                              "Actual Total Time": 0.071,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34653_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34653_chunk",
                              "Alias": "_hyper_5_34653_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.056,
                              "Actual Total Time": 0.056,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34652_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34652_chunk",
                              "Alias": "_hyper_5_34652_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.079,
                              "Actual Total Time": 0.080,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34651_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34651_chunk",
                              "Alias": "_hyper_5_34651_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.048,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34645_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34645_chunk",
                              "Alias": "_hyper_5_34645_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.071,
                              "Actual Total Time": 0.071,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34641_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34641_chunk",
                              "Alias": "_hyper_5_34641_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.048,
                              "Actual Total Time": 0.048,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34639_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34639_chunk",
                              "Alias": "_hyper_5_34639_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.039,
                              "Actual Total Time": 0.040,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34638_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34638_chunk",
                              "Alias": "_hyper_5_34638_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.047,
                              "Actual Total Time": 0.047,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34637_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34637_chunk",
                              "Alias": "_hyper_5_34637_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.054,
                              "Actual Total Time": 0.054,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34636_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34636_chunk",
                              "Alias": "_hyper_5_34636_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.042,
                              "Actual Total Time": 0.042,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34634_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34634_chunk",
                              "Alias": "_hyper_5_34634_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.045,
                              "Actual Total Time": 0.045,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34631_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34631_chunk",
                              "Alias": "_hyper_5_34631_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.106,
                              "Actual Total Time": 0.107,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34630_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34630_chunk",
                              "Alias": "_hyper_5_34630_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.055,
                              "Actual Total Time": 0.055,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34628_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34628_chunk",
                              "Alias": "_hyper_5_34628_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.046,
                              "Actual Total Time": 0.047,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34627_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34627_chunk",
                              "Alias": "_hyper_5_34627_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.052,
                              "Actual Total Time": 0.053,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34626_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34626_chunk",
                              "Alias": "_hyper_5_34626_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.043,
                              "Actual Total Time": 0.044,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34619_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34619_chunk",
                              "Alias": "_hyper_5_34619_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.062,
                              "Actual Total Time": 0.062,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34617_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34617_chunk",
                              "Alias": "_hyper_5_34617_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.038,
                              "Actual Total Time": 0.038,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34616_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34616_chunk",
                              "Alias": "_hyper_5_34616_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.24,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.061,
                              "Actual Total Time": 0.061,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34615_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34615_chunk",
                              "Alias": "_hyper_5_34615_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.055,
                              "Actual Total Time": 0.055,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34613_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34613_chunk",
                              "Alias": "_hyper_5_34613_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.076,
                              "Actual Total Time": 0.076,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34612_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34612_chunk",
                              "Alias": "_hyper_5_34612_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.095,
                              "Actual Total Time": 0.095,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34609_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34609_chunk",
                              "Alias": "_hyper_5_34609_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.24,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.967,
                              "Actual Total Time": 0.968,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34606_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34606_chunk",
                              "Alias": "_hyper_5_34606_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.053,
                              "Actual Total Time": 0.054,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34605_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34605_chunk",
                              "Alias": "_hyper_5_34605_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.049,
                              "Actual Total Time": 0.049,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34604_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34604_chunk",
                              "Alias": "_hyper_5_34604_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.041,
                              "Actual Total Time": 0.041,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34603_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34603_chunk",
                              "Alias": "_hyper_5_34603_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.053,
                              "Actual Total Time": 0.054,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34601_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34601_chunk",
                              "Alias": "_hyper_5_34601_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.050,
                              "Actual Total Time": 0.050,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34598_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34598_chunk",
                              "Alias": "_hyper_5_34598_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.098,
                              "Actual Total Time": 0.102,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34596_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34596_chunk",
                              "Alias": "_hyper_5_34596_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.070,
                              "Actual Total Time": 0.071,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34595_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34595_chunk",
                              "Alias": "_hyper_5_34595_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.075,
                              "Actual Total Time": 0.075,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34594_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34594_chunk",
                              "Alias": "_hyper_5_34594_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.19,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.049,
                              "Actual Total Time": 0.049,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34593_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34593_chunk",
                              "Alias": "_hyper_5_34593_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.24,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.063,
                              "Actual Total Time": 0.063,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34592_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34592_chunk",
                              "Alias": "_hyper_5_34592_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.17,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.064,
                              "Actual Total Time": 0.064,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34589_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34589_chunk",
                              "Alias": "_hyper_5_34589_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.26,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.063,
                              "Actual Total Time": 0.064,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34586_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34586_chunk",
                              "Alias": "_hyper_5_34586_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.059,
                              "Actual Total Time": 0.060,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34585_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34585_chunk",
                              "Alias": "_hyper_5_34585_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.23,
                              "Plan Rows": 5,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.086,
                              "Actual Total Time": 0.086,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34584_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34584_chunk",
                              "Alias": "_hyper_5_34584_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 6.20,
                              "Plan Rows": 4,
                              "Plan Width": 63,
                              "Actual Startup Time": 0.075,
                              "Actual Total Time": 0.076,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34583_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34583_chunk",
                              "Alias": "_hyper_5_34583_chunk",
                              "Startup Cost": 0.56,
                              "Total Cost": 7.26,
                              "Plan Rows": 5,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.058,
                              "Actual Total Time": 0.058,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text) AND (\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Index Recheck": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34892_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34892_chunk",
                              "Alias": "_hyper_5_34892_chunk",
                              "Startup Cost": 0.15,
                              "Total Cost": 2.18,
                              "Plan Rows": 1,
                              "Plan Width": 124,
                              "Actual Startup Time": 0.011,
                              "Actual Total Time": 0.012,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text))",
                              "Rows Removed by Index Recheck": 0,
                              "Filter": "((\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Filter": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34895_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34895_chunk",
                              "Alias": "_hyper_5_34895_chunk",
                              "Startup Cost": 0.15,
                              "Total Cost": 2.18,
                              "Plan Rows": 1,
                              "Plan Width": 124,
                              "Actual Startup Time": 0.019,
                              "Actual Total Time": 0.019,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text))",
                              "Rows Removed by Index Recheck": 0,
                              "Filter": "((\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Filter": 0
                            },
                            {
                              "Node Type": "Index Scan",
                              "Parent Relationship": "Member",
                              "Parallel Aware": false,
                              "Scan Direction": "Forward",
                              "Index Name": "_hyper_5_34889_chunk_node_measurements_unique_idx",
                              "Relation Name": "_hyper_5_34889_chunk",
                              "Alias": "_hyper_5_34889_chunk",
                              "Startup Cost": 0.27,
                              "Total Cost": 2.29,
                              "Plan Rows": 1,
                              "Plan Width": 62,
                              "Actual Startup Time": 0.022,
                              "Actual Total Time": 0.022,
                              "Actual Rows": 0,
                              "Actual Loops": 1,
                              "Index Cond": "((src_mac_id = 'FFFF14B4577FE5F0'::text) AND (measurement_type = 'temperature_set'::text))",
                              "Rows Removed by Index Recheck": 0,
                              "Filter": "((\"time\" >= timezone(l.timezone, '2023-01-02 00:00:00+00'::timestamp with time zone)) AND (\"time\" <= timezone(l.timezone, '2023-01-03 23:59:59+00'::timestamp with time zone)))",
                              "Rows Removed by Filter": 0
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    "Planning Time": 60.039,
    "Triggers": [
    ],
    "Execution Time": 26.876
  }
]

How can we reproduce the bug?

It should be reproducible on any hyper table, by querying within time bounds depending on a timezone that is not known at the planning time but gets queried from a joined table.
@kgyrtkirk kgyrtkirk self-assigned this Feb 21, 2023
@kgyrtkirk
Copy link
Contributor

I think this issue doesn't affect the correctness of the resultset - so this is not Bug; its more like a feature request for a missed optimization opportunity; to detect and optionally rewrite conditions like:

t > timezone(col,const)` => `t > timezone(col,const) and t > const-24h

a bit more self contained repro; (checked with 2.9.1)

drop table if exists conditions;
drop table if exists opaque_timezone;

CREATE TABLE conditions (
    t timestamp with time ZONE NOT NULL,
    temperature NUMERIC
);

SELECT create_hypertable('conditions', 't', chunk_time_interval => INTERVAL '1 days');

INSERT INTO conditions (t, temperature)
SELECT
    generate_series('2022-01-01 00:00:00-00'::timestamptz, '2022-01-31 23:59:59-00'::timestamptz, '1 hour'),
    0.25;

create table opaque_timezone as select 'Europe/Budapest' as tz;

explain analyze
SELECT *
FROM conditions
join opaque_timezone on (true)
WHERE t between timezone(tz , '2022-01-10 00:00:00+0000'::timestamptz) and timezone(tz,'2022-01-13 23:59:59+0000'::timestamptz)
;

explain analyze
SELECT *
FROM conditions
join opaque_timezone on (true)
WHERE t between timezone(tz , '2022-01-10 00:00:00+0000'::timestamptz) and timezone(tz,'2022-01-13 23:59:59+0000'::timestamptz)
and t between '2022-01-10 00:00:00+0000'::timestamptz - INTERVAL '1' day and '2022-01-10 00:00:00+0000'::timestamptz + INTERVAL '1' day 
;

Thank you for reporting this - we will get back to it!

@kgyrtkirk kgyrtkirk added feature-request Feature proposal and removed bug labels Feb 21, 2023
@andnig
Copy link

andnig commented Apr 12, 2024

@kgyrtkirk Do you by chance have any potential prio information for this feature request?

@kgyrtkirk
Copy link
Contributor

no - I don't know about that; maybe @horzsolt has some info

@moodgorning
Copy link
Author

@akuzm I saw this is getting abandoned, however, I do still run into this all the time and am surprised it is not a more common issue.
Adding on to this to show another occurrence of this behavior which I run into repeatedly when joining two or more hypertables together. The same issue happens. see this example:

drop table if exists conditions;
drop table if exists conditions2;

CREATE TABLE conditions (
                            t timestamp with time ZONE NOT NULL,
                            temperature NUMERIC
);

CREATE TABLE conditions2 (
                            t timestamp with time ZONE NOT NULL,
                            temperature NUMERIC
);

SELECT create_hypertable('conditions', 't', chunk_time_interval => INTERVAL '1 days');
SELECT create_hypertable('conditions2', 't', chunk_time_interval => INTERVAL '1 days');

INSERT INTO conditions (t, temperature)
SELECT
    generate_series('2022-01-01 00:00:00-00'::timestamptz, '2022-01-31 23:59:59-00'::timestamptz, '1 hour'),
    0.25;

INSERT INTO conditions2 (t, temperature)
SELECT
    generate_series('2022-01-01 00:00:00-00'::timestamptz, '2022-01-31 23:59:59-00'::timestamptz, '1 hour'),
    0.25;

explain (analyze, FORMAT JSON)
SELECT * FROM conditions c1
LEFT join conditions2 c2 ON c2.t = c1.t --AND  c1.id = c2.id
WHERE c1.t > '2022-01-25 00:00:00-00'::timestamptz
-- AND c2.t > '2023-01-25 00:00:00-00'::timestamptz

Without the additional constraint on c2 c2.t > '2023-01-25 00:00:00-00'::timestamptz The plan scans all chunks on c2, leading to a massively bloated plan and very slow execution time, even though the time column on c2 is technically constrained at planning time by the constraint 'c1.t > '2022-01-25 00:00:00-00'::timestamptz' on c1. This one might be a bit trickier to add in, but it seems to fall into the same category of poor chunk exclusion despite the information being available at planning time.
On our DB, adding additional constraints on the joined tables makes the difference from unusable (executing in more than 30 minutes) to executing in milliseconds.
This has implications when we use the tables in our BI tool, as we have to jump through a bunch of extra hoops to get the constraints somehow added into the query when the BI tool composes the SQL.
E.g. I can't expose the above query that joins two hyper tables as a view to the BI tool, because the user needs to know that we need to add extra constraints in order to make the view performant. This leaves me only two options, expose it as a UDF, which often has poor support in BI tools, or do some sort of query composition in the BI tool if that is supported through some templating or filter magic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants