explain.depesz.com

PostgreSQL's explain analyze made readable

Result: gcPR

Settings
# exclusive inclusive rows x rows loops node
1. 7,197.912 406,413.512 ↑ 4.7 8,922 1

Unique (cost=103,019.48..107,974.93 rows=42,174 width=752) (actual time=331,488.038..406,413.512 rows=8,922 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.pair_status, l.pair_statu (...)
2. 359,366.925 399,215.600 ↓ 49.6 2,092,494 1

Sort (cost=103,019.48..103,124.92 rows=42,174 width=752) (actual time=331,488.035..399,215.600 rows=2,092,494 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.pair_status, l.pair (...)
  • Sort Key: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.pair_status, l.pa (...)
  • Sort Method: external merge Disk: 1059176kB
3. 4,521.545 39,848.675 ↓ 49.6 2,092,494 1

Hash Left Join (cost=81,899.02..85,797.16 rows=42,174 width=752) (actual time=29,207.645..39,848.675 rows=2,092,494 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.pair_status, (...)
  • Hash Cond: ((l.system_id = hd_processed_space_repl_ctxs.system_id) AND (l.ctx_id = hd_processed_space_repl_ctxs.ctx_id))
4. 3,888.463 6,348.001 ↓ 49.6 2,092,494 1

Merge Right Join (cost=10,679.22..13,838.82 rows=42,174 width=740) (actual time=228.481..6,348.001 rows=2,092,494 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.pair_st (...)
  • Merge Cond: (ctx_1.pair_id = l.pair_id)
5. 1.753 1.753 ↑ 1.0 508 1

Index Only Scan using cd_cfg_repl_ctxs_state_pair_id_is_src_idx on config.cd_cfg_repl_ctxs ctx_1 (cost=0.28..588.00 rows=508 width=12) (actual time=0.033..1.753 rows=508 loops=1)

  • Output: ctx_1.pair_id, ctx_1.state, ctx_1.is_src
  • Index Cond: (ctx_1.is_src = 0)
  • Heap Fetches: 0
6. 1,945.125 2,457.785 ↓ 126.0 2,092,494 1

Materialize (cost=10,678.94..12,658.45 rows=16,604 width=736) (actual time=228.444..2,457.785 rows=2,092,494 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_msg, l.p (...)
7. 212.943 512.660 ↓ 8.4 139,620 1

Merge Left Join (cost=10,678.94..12,616.94 rows=16,604 width=736) (actual time=228.438..512.660 rows=139,620 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_status_ms (...)
  • Merge Cond: (l.pair_id = ctx.pair_id)
8. 15.879 281.155 ↓ 1.0 8,922 1

Merge Left Join (cost=10,678.67..11,759.22 rows=8,785 width=700) (actual time=228.410..281.155 rows=8,922 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.processed_sta (...)
  • Merge Cond: (l.pair_id = cascades.pair_id)
9. 26.233 264.642 ↓ 1.0 8,922 1

Unique (cost=10,383.98..11,328.37 rows=8,785 width=696) (actual time=227.773..264.642 rows=8,922 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.process (...)
10. 147.160 238.409 ↓ 1.0 8,922 1

Sort (cost=10,383.98..10,405.95 rows=8,785 width=696) (actual time=227.771..238.409 rows=8,922 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r.p (...)
  • Sort Key: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed_status, r (...)
  • Sort Method: external merge Disk: 4304kB
11. 1.296 91.249 ↓ 1.0 8,922 1

Append (cost=1,351.11..7,103.03 rows=8,785 width=696) (actual time=3.912..91.249 rows=8,922 loops=1)

12. 15.328 25.707 ↓ 1.0 8,848 1

Hash Join (cost=1,351.11..3,266.53 rows=8,473 width=3,808) (actual time=3.911..25.707 rows=8,848 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, r.system_id, r.ctx_id, r.epoch, l.dest_host, l.dest_path, r.processed (...)
  • Hash Cond: (r.pair_id = l.pair_id)
  • Join Filter: (l.id <> r.id)
  • Rows Removed by Join Filter: 378
13. 0.605 7.263 ↑ 1.0 886 1

Hash Left Join (cost=32.38..1,804.10 rows=886 width=1,787) (actual time=0.763..7.263 rows=886 loops=1)

  • Output: r.system_id, r.ctx_id, r.epoch, r.processed_status, r.processed_status_msg, r.pair_id, r.id, cctu2.id, cctu2.uuid, cctu2.name, cctu2.state, cct2.uuid, cct2.name, cct2.state, cct2.i (...)
  • Hash Cond: (cctu2.tenant_id = cct2.id)
14. 1.843 6.631 ↑ 1.0 886 1

Hash Left Join (cost=30.99..1,791.19 rows=886 width=1,125) (actual time=0.728..6.631 rows=886 loops=1)

  • Output: r.system_id, r.ctx_id, r.epoch, r.processed_status, r.processed_status_msg, r.pair_id, r.id, cctu2.id, cctu2.uuid, cctu2.name, cctu2.state, cctu2.tenant_id
  • Hash Cond: (r.tenant_unit_id = cctu2.id)
15. 4.078 4.078 ↑ 1.0 886 1

Seq Scan on config.cd_cfg_repl_ctxs r (cost=0.00..1,752.86 rows=886 width=1,080) (actual time=0.005..4.078 rows=886 loops=1)

  • Output: r.id, r.epoch, r.system_id, r.ctx_id, r.source_host, r.source_path, r.dest_host, r.dest_path, r.is_src, r.repl_scheme, r.propagate_retention_lock, r.delta_enabled, r.sh (...)
16. 0.298 0.710 ↓ 1.1 554 1

Hash (cost=24.50..24.50 rows=519 width=53) (actual time=0.710..0.710 rows=554 loops=1)

  • Output: cctu2.id, cctu2.uuid, cctu2.name, cctu2.state, cctu2.tenant_id
  • Buckets: 1024 Batches: 1 Memory Usage: 56kB
17. 0.412 0.412 ↓ 1.1 554 1

Seq Scan on config.cd_cfg_tenant_units cctu2 (cost=0.00..24.50 rows=519 width=53) (actual time=0.011..0.412 rows=554 loops=1)

  • Output: cctu2.id, cctu2.uuid, cctu2.name, cctu2.state, cctu2.tenant_id
  • Filter: (cctu2.id <> 0)
  • Rows Removed by Filter: 1
18. 0.007 0.027 ↑ 1.0 15 1

Hash (cost=1.20..1.20 rows=15 width=670) (actual time=0.027..0.027 rows=15 loops=1)

  • Output: cct2.uuid, cct2.name, cct2.state, cct2.id
  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
19. 0.020 0.020 ↑ 1.0 15 1

Seq Scan on config.cd_cfg_tenants cct2 (cost=0.00..1.20 rows=15 width=670) (actual time=0.008..0.020 rows=15 loops=1)

  • Output: cct2.uuid, cct2.name, cct2.state, cct2.id
  • Filter: (cct2.id <> 0)
  • Rows Removed by Filter: 1
20. 0.599 3.116 ↑ 1.0 378 1

Hash (cost=1,314.01..1,314.01 rows=378 width=2,045) (actual time=3.116..3.116 rows=378 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, l.dest_host, l.dest_path, l.pair_status, l.pair_status_msg, l.r (...)
  • Buckets: 1024 Batches: 1 Memory Usage: 176kB
21. 0.369 2.517 ↑ 1.0 378 1

Hash Left Join (cost=387.58..1,314.01 rows=378 width=2,045) (actual time=0.928..2.517 rows=378 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, l.dest_host, l.dest_path, l.pair_status, l.pair_status_ms (...)
  • Hash Cond: (cctu1.tenant_id = cct1.id)
22. 0.801 2.124 ↑ 1.0 378 1

Hash Left Join (cost=386.19..1,307.71 rows=378 width=1,383) (actual time=0.895..2.124 rows=378 loops=1)

  • Output: l.pair_id, l.system_id, l.ctx_id, l.epoch, l.source_host, l.source_path, l.processed_status, l.processed_status_msg, l.dest_host, l.dest_path, l.pair_status, l.pair_sta (...)
  • Hash Cond: (l.tenant_unit_id = cctu1.id)
23. 0.461 0.644 ↑ 1.0 378 1

Bitmap Heap Scan on config.cd_cfg_repl_ctxs l (cost=355.20..1,273.58 rows=378 width=1,338) (actual time=0.204..0.644 rows=378 loops=1)

  • Output: l.id, l.epoch, l.system_id, l.ctx_id, l.source_host, l.source_path, l.dest_host, l.dest_path, l.is_src, l.repl_scheme, l.propagate_retention_lock, l.delta_enabled (...)
  • Recheck Cond: (l.is_src = 1)
  • Heap Blocks: exact=69
24. 0.183 0.183 ↑ 1.0 378 1

Bitmap Index Scan on cd_cfg_repl_ctxs_is_src_idx (cost=0.00..355.11 rows=378 width=0) (actual time=0.183..0.183 rows=378 loops=1)

  • Index Cond: (l.is_src = 1)
25. 0.303 0.679 ↓ 1.1 554 1

Hash (cost=24.50..24.50 rows=519 width=53) (actual time=0.679..0.679 rows=554 loops=1)

  • Output: cctu1.id, cctu1.uuid, cctu1.name, cctu1.state, cctu1.tenant_id
  • Buckets: 1024 Batches: 1 Memory Usage: 56kB
26. 0.376 0.376 ↓ 1.1 554 1

Seq Scan on config.cd_cfg_tenant_units cctu1 (cost=0.00..24.50 rows=519 width=53) (actual time=0.011..0.376 rows=554 loops=1)

  • Output: cctu1.id, cctu1.uuid, cctu1.name, cctu1.state, cctu1.tenant_id
  • Filter: (cctu1.id <> 0)
  • Rows Removed by Filter: 1
27. 0.008 0.024 ↑ 1.0 15 1

Hash (cost=1.20..1.20 rows=15 width=670) (actual time=0.024..0.024 rows=15 loops=1)

  • Output: cct1.uuid, cct1.name, cct1.state, cct1.id
  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
28. 0.016 0.016 ↑ 1.0 15 1

Seq Scan on config.cd_cfg_tenants cct1 (cost=0.00..1.20 rows=15 width=670) (actual time=0.006..0.016 rows=15 loops=1)

  • Output: cct1.uuid, cct1.name, cct1.state, cct1.id
  • Filter: (cct1.id <> 0)
  • Rows Removed by Filter: 1
29. 0.054 36.217 ↑ 6.0 26 1

Subquery Scan on *SELECT* 2 (cost=1,872.76..1,875.88 rows=156 width=696) (actual time=35.767..36.217 rows=26 loops=1)

  • Output: "*SELECT* 2".pair_id, "*SELECT* 2".src_system_id, "*SELECT* 2".src_ctx_id, "*SELECT* 2".src_epoch, "*SELECT* 2".src_host, "*SELECT* 2".src_path, "*SELECT* 2".src_processed_status, "*SELE (...)
30. 7.494 36.163 ↑ 6.0 26 1

HashAggregate (cost=1,872.76..1,874.32 rows=156 width=696) (actual time=35.761..36.163 rows=26 loops=1)

  • Output: ccrc.pair_id, min(ccrc.system_id), min(ccrc.ctx_id), min(ccrc.epoch), min((ccrc.source_host)::text), min((ccrc.source_path)::text), min((ccrc.processed_status)::text), min((ccrc.pr (...)
  • Group Key: ccrc.pair_id
  • Filter: ((count(*) = 1) AND (sum(ccrc.is_src) = 1))
  • Rows Removed by Filter: 130
31. 0.801 28.669 ↑ 1.0 886 1

Hash Left Join (cost=32.38..1,804.10 rows=886 width=2,041) (actual time=23.531..28.669 rows=886 loops=1)

  • Output: ccrc.pair_id, ccrc.system_id, ccrc.ctx_id, ccrc.epoch, ccrc.source_host, ccrc.source_path, ccrc.processed_status, ccrc.processed_status_msg, ccrc.dest_host, ccrc.dest_path, c (...)
  • Hash Cond: (cctu1_1.tenant_id = cct1_1.id)
32. 1.820 27.837 ↑ 1.0 886 1

Hash Left Join (cost=30.99..1,791.19 rows=886 width=1,379) (actual time=23.487..27.837 rows=886 loops=1)

  • Output: ccrc.pair_id, ccrc.system_id, ccrc.ctx_id, ccrc.epoch, ccrc.source_host, ccrc.source_path, ccrc.processed_status, ccrc.processed_status_msg, ccrc.dest_host, ccrc.dest_p (...)
  • Hash Cond: (ccrc.tenant_unit_id = cctu1_1.id)
33. 2.560 2.560 ↑ 1.0 886 1

Seq Scan on config.cd_cfg_repl_ctxs ccrc (cost=0.00..1,752.86 rows=886 width=1,334) (actual time=0.007..2.560 rows=886 loops=1)

  • Output: ccrc.id, ccrc.epoch, ccrc.system_id, ccrc.ctx_id, ccrc.source_host, ccrc.source_path, ccrc.dest_host, ccrc.dest_path, ccrc.is_src, ccrc.repl_scheme, ccrc.propagat (...)
34. 23.061 23.457 ↓ 1.1 554 1

Hash (cost=24.50..24.50 rows=519 width=53) (actual time=23.457..23.457 rows=554 loops=1)

  • Output: cctu1_1.id, cctu1_1.uuid, cctu1_1.name, cctu1_1.state, cctu1_1.tenant_id
  • Buckets: 1024 Batches: 1 Memory Usage: 56kB
35. 0.396 0.396 ↓ 1.1 554 1

Seq Scan on config.cd_cfg_tenant_units cctu1_1 (cost=0.00..24.50 rows=519 width=53) (actual time=0.014..0.396 rows=554 loops=1)

  • Output: cctu1_1.id, cctu1_1.uuid, cctu1_1.name, cctu1_1.state, cctu1_1.tenant_id
  • Filter: (cctu1_1.id <> 0)
  • Rows Removed by Filter: 1
36. 0.008 0.031 ↑ 1.0 15 1

Hash (cost=1.20..1.20 rows=15 width=670) (actual time=0.031..0.031 rows=15 loops=1)

  • Output: cct1_1.uuid, cct1_1.name, cct1_1.state, cct1_1.id
  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
37. 0.023 0.023 ↑ 1.0 15 1

Seq Scan on config.cd_cfg_tenants cct1_1 (cost=0.00..1.20 rows=15 width=670) (actual time=0.012..0.023 rows=15 loops=1)

  • Output: cct1_1.uuid, cct1_1.name, cct1_1.state, cct1_1.id
  • Filter: (cct1_1.id <> 0)
  • Rows Removed by Filter: 1
38. 0.094 28.029 ↑ 3.2 48 1

Subquery Scan on *SELECT* 3 (cost=1,872.76..1,875.88 rows=156 width=696) (actual time=27.501..28.029 rows=48 loops=1)

  • Output: "*SELECT* 3".pair_id, NULL::bigint, NULL::bigint, NULL::bigint, "*SELECT* 3".src_host, "*SELECT* 3".src_path, NULL::character varying, NULL::character varying, "*SELECT* 3".dst_system_id (...)
39. 7.461 27.935 ↑ 3.2 48 1

HashAggregate (cost=1,872.76..1,874.32 rows=156 width=696) (actual time=27.496..27.935 rows=48 loops=1)

  • Output: ccrc_1.pair_id, NULL::bigint, NULL::bigint, NULL::bigint, min((ccrc_1.source_host)::text), min((ccrc_1.source_path)::text), NULL::character varying, NULL::character varying, min(cc (...)
  • Group Key: ccrc_1.pair_id
  • Filter: ((count(*) = 1) AND (sum(ccrc_1.is_src) = 0))
  • Rows Removed by Filter: 108
40. 0.725 20.474 ↑ 1.0 886 1

Hash Left Join (cost=32.38..1,804.10 rows=886 width=2,041) (actual time=0.731..20.474 rows=886 loops=1)

  • Output: ccrc_1.pair_id, ccrc_1.source_host, ccrc_1.source_path, ccrc_1.system_id, ccrc_1.ctx_id, ccrc_1.epoch, ccrc_1.dest_host, ccrc_1.dest_path, ccrc_1.processed_status, ccrc_1.pro (...)
  • Hash Cond: (cctu2_1.tenant_id = cct2_1.id)
41. 16.928 19.722 ↑ 1.0 886 1

Hash Left Join (cost=30.99..1,791.19 rows=886 width=1,379) (actual time=0.693..19.722 rows=886 loops=1)

  • Output: ccrc_1.pair_id, ccrc_1.source_host, ccrc_1.source_path, ccrc_1.system_id, ccrc_1.ctx_id, ccrc_1.epoch, ccrc_1.dest_host, ccrc_1.dest_path, ccrc_1.processed_status, ccrc (...)
  • Hash Cond: (ccrc_1.tenant_unit_id = cctu2_1.id)
42. 2.124 2.124 ↑ 1.0 886 1

Seq Scan on config.cd_cfg_repl_ctxs ccrc_1 (cost=0.00..1,752.86 rows=886 width=1,334) (actual time=0.007..2.124 rows=886 loops=1)

  • Output: ccrc_1.id, ccrc_1.epoch, ccrc_1.system_id, ccrc_1.ctx_id, ccrc_1.source_host, ccrc_1.source_path, ccrc_1.dest_host, ccrc_1.dest_path, ccrc_1.is_src, ccrc_1.repl_s (...)
43. 0.269 0.670 ↓ 1.1 554 1

Hash (cost=24.50..24.50 rows=519 width=53) (actual time=0.670..0.670 rows=554 loops=1)

  • Output: cctu2_1.id, cctu2_1.uuid, cctu2_1.name, cctu2_1.state, cctu2_1.tenant_id
  • Buckets: 1024 Batches: 1 Memory Usage: 56kB
44. 0.401 0.401 ↓ 1.1 554 1

Seq Scan on config.cd_cfg_tenant_units cctu2_1 (cost=0.00..24.50 rows=519 width=53) (actual time=0.012..0.401 rows=554 loops=1)

  • Output: cctu2_1.id, cctu2_1.uuid, cctu2_1.name, cctu2_1.state, cctu2_1.tenant_id
  • Filter: (cctu2_1.id <> 0)
  • Rows Removed by Filter: 1
45. 0.007 0.027 ↑ 1.0 15 1

Hash (cost=1.20..1.20 rows=15 width=670) (actual time=0.027..0.027 rows=15 loops=1)

  • Output: cct2_1.uuid, cct2_1.name, cct2_1.state, cct2_1.id
  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
46. 0.020 0.020 ↑ 1.0 15 1

Seq Scan on config.cd_cfg_tenants cct2_1 (cost=0.00..1.20 rows=15 width=670) (actual time=0.008..0.020 rows=15 loops=1)

  • Output: cct2_1.uuid, cct2_1.name, cct2_1.state, cct2_1.id
  • Filter: (cct2_1.id <> 0)
  • Rows Removed by Filter: 1
47. 0.046 0.634 ↑ 1.0 40 1

Sort (cost=294.68..294.78 rows=40 width=12) (actual time=0.620..0.634 rows=40 loops=1)

  • Output: cascades.cascade_status, cascades.pair_id
  • Sort Key: cascades.pair_id
  • Sort Method: quicksort Memory: 26kB
48. 0.014 0.588 ↑ 1.0 40 1

Subquery Scan on cascades (cost=292.82..293.62 rows=40 width=12) (actual time=0.561..0.588 rows=40 loops=1)

  • Output: cascades.cascade_status, cascades.pair_id
49. 0.152 0.574 ↑ 1.0 40 1

HashAggregate (cost=292.82..293.22 rows=40 width=12) (actual time=0.559..0.574 rows=40 loops=1)

  • Output: icas.pair_id, max(CASE WHEN (icas.cascade_status = 1) THEN 2 ELSE CASE WHEN (icas.cascade_status = 2) THEN 3 ELSE CASE WHEN (icas.cascade_status = 3) THEN 1 ELSE CASE WHEN (icas.cascade_status (...)
  • Group Key: icas.pair_id
50. 0.058 0.422 ↑ 2.0 81 1

Nested Loop (cost=0.28..290.00 rows=161 width=12) (actual time=0.033..0.422 rows=81 loops=1)

  • Output: icas.pair_id, icas.cascade_status
51. 0.044 0.044 ↑ 1.0 80 1

Seq Scan on config.cd_cfg_repl_cascade icas (cost=0.00..2.80 rows=80 width=12) (actual time=0.015..0.044 rows=80 loops=1)

  • Output: icas.cascade_id, icas.pair_id, icas.cascade_sequence, icas.cascade_status, icas.cascade_status_msg
52. 0.320 0.320 ↑ 6.0 1 80

Index Only Scan using cd_cfg_repl_ctxs_state_pair_id_is_src_idx on config.cd_cfg_repl_ctxs ictx (cost=0.28..3.53 rows=6 width=8) (actual time=0.003..0.004 rows=1 loops=80)

  • Output: ictx.pair_id, ictx.state, ictx.is_src
  • Index Cond: (ictx.pair_id = icas.pair_id)
  • Heap Fetches: 0
53. 17.797 18.562 ↓ 369.2 139,572 1

Materialize (cost=0.28..587.64 rows=378 width=44) (actual time=0.022..18.562 rows=139,572 loops=1)

  • Output: ctx.state, ctx.pair_id, (ROW(ctx.state, ctx.pair_id))
54. 0.765 0.765 ↑ 1.0 378 1

Index Only Scan using cd_cfg_repl_ctxs_state_pair_id_is_src_idx on config.cd_cfg_repl_ctxs ctx (cost=0.28..586.70 rows=378 width=44) (actual time=0.019..0.765 rows=378 loops=1)

  • Output: ctx.state, ctx.pair_id, ROW(ctx.state, ctx.pair_id)
  • Index Cond: (ctx.is_src = 1)
  • Heap Fetches: 0
55. 2.274 28,979.129 ↓ 20.1 924 1

Hash (cost=71,219.11..71,219.11 rows=46 width=32) (actual time=28,979.129..28,979.129 rows=924 loops=1)

  • Output: hist.pre_comp_repl_speed, hist.post_comp_repl_speed, hd_processed_space_repl_ctxs.system_id, hd_processed_space_repl_ctxs.ctx_id
  • Buckets: 1024 Batches: 1 Memory Usage: 66kB
56. 2.420 28,976.855 ↓ 20.1 924 1

Nested Loop (cost=54,524.98..71,219.11 rows=46 width=32) (actual time=22,494.962..28,976.855 rows=924 loops=1)

  • Output: hist.pre_comp_repl_speed, hist.post_comp_repl_speed, hd_processed_space_repl_ctxs.system_id, hd_processed_space_repl_ctxs.ctx_id
57. 653.351 22,474.095 ↑ 2.4 924 1

HashAggregate (cost=54,524.55..54,547.02 rows=2,247 width=24) (actual time=22,472.373..22,474.095 rows=924 loops=1)

  • Output: max(hd_processed_space_repl_ctxs.epoch), hd_processed_space_repl_ctxs.system_id, hd_processed_space_repl_ctxs.ctx_id
  • Group Key: hd_processed_space_repl_ctxs.system_id, hd_processed_space_repl_ctxs.ctx_id
58. 21,820.744 21,820.744 ↑ 1.0 732,484 1

Seq Scan on processed.hd_processed_space_repl_ctxs (cost=0.00..49,030.03 rows=732,603 width=24) (actual time=12.562..21,820.744 rows=732,484 loops=1)

  • Output: hd_processed_space_repl_ctxs.system_id, hd_processed_space_repl_ctxs.interval_mask, hd_processed_space_repl_ctxs.count, hd_processed_space_repl_ctxs.is_missing, hd_processed_space_repl_ctxs.epoch, hd_processed_ (...)
59. 6,500.340 6,500.340 ↑ 1.0 1 924

Index Scan using hd_processed_space_repl_ctxs_system_id_ctx_id_epoch_idx on processed.hd_processed_space_repl_ctxs hist (cost=0.42..7.40 rows=1 width=40) (actual time=7.010..7.035 rows=1 loops=924)

  • Output: hist.system_id, hist.interval_mask, hist.count, hist.is_missing, hist.epoch, hist.node_id, hist.ctx_id, hist.pre_comp_remaining, hist.pre_comp_replicated_cumu, hist.post_comp_remaining, hist.post_comp_replicated_cumu (...)
  • Index Cond: ((hist.system_id = hd_processed_space_repl_ctxs.system_id) AND (hist.ctx_id = hd_processed_space_repl_ctxs.ctx_id) AND (hist.epoch = (max(hd_processed_space_repl_ctxs.epoch))))
  • Filter: (hist.is_active = 1)