{"kind": "plan", "major": "18", "rows": [{"slug": "aggregate", "name": "Aggregate", "name_zh": "Agg", "category": "Aggregation", "summary": "Computes aggregate results using the selected grouping strategy and aggregation stage.", "aliases": ["Agg", "Aggregate", "GroupAggregate", "HashAggregate", "MixedAggregate", "T_Agg"], "content_hash": "3730c8cba1f67b3d1d5027d1a7aeca45790a785dcb981566c0515edfad69e31f", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "6b783c0f46b55bb43e89386e12a6f493942ee5fcd4f3ec97bd38db3425405f32"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "6b783c0f46b55bb43e89386e12a6f493942ee5fcd4f3ec97bd38db3425405f32"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "6b783c0f46b55bb43e89386e12a6f493942ee5fcd4f3ec97bd38db3425405f32"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Agg"}, {"label": "Structured EXPLAIN Node Type", "value": "Aggregate"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Aggregate result tuples"}, {"label": "Executor initializer", "value": "ExecInitAgg"}, {"label": "Memory mechanism", "value": "aggregate-spill"}, {"label": "EXPLAIN strategies", "value": "Plain, Sorted, Hashed, Mixed"}, {"label": "Aggregation stages", "value": "Partial, Finalize, Simple"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Computes aggregate results using the selected grouping strategy and aggregation stage."], "comparison_hash": "1144b010ce8f8de60989a1cd00684cccaefed0d3e7341c71e2fbf2edd3e504eb"}}, "url": "/wiki/plan/aggregate/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=12"}, {"major": "13", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 13.23 \u00b7 Interface or attribute change", "url": "/wiki/plan/aggregate/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/aggregate/?v=20"}], "present": true}, {"slug": "group", "name": "Group", "name_zh": "Group", "category": "Aggregation", "summary": "Groups an ordered input stream by its grouping columns.", "aliases": ["Group", "T_Group"], "content_hash": "416e3ab8f1dcba42ca83b9d6d8d13107ea763e26250afcd2b26631c28618622f", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Group"}, {"label": "Structured EXPLAIN Node Type", "value": "Group"}, {"label": "Inputs", "value": "One ordered child plan"}, {"label": "Output", "value": "One tuple per group"}, {"label": "Executor initializer", "value": "ExecInitGroup"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Groups an ordered input stream by its grouping columns."], "comparison_hash": "c75b880801aecfa8f510650c6bb3c2e0aa820810550fefe9c62d04727c0c0048"}}, "url": "/wiki/plan/group/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/group/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/group/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/group/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/group/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/group/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/group/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/group/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/group/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/group/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/group/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/group/?v=20"}], "present": true}, {"slug": "windowagg", "name": "WindowAgg", "name_zh": "WindowAgg", "category": "Aggregation", "summary": "Evaluates window functions over ordered partitions of its child output.", "aliases": ["T_WindowAgg", "WindowAgg"], "content_hash": "bd6e222995ca4cf65b255ac5fc7ee1386aecc3c272498c3e91f45c9932b84868", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "11": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "12": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "13": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "14": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "15": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "16": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "17": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "18": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "19": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}, "20": {"facts": [{"label": "Core node tag", "value": "T_WindowAgg"}, {"label": "Structured EXPLAIN Node Type", "value": "WindowAgg"}, {"label": "Inputs", "value": "One suitably ordered child plan"}, {"label": "Output", "value": "Tuples with window-function results"}, {"label": "Executor initializer", "value": "ExecInitWindowAgg"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Evaluates window functions over ordered partitions of its child output."], "comparison_hash": "186aa5f13e96214f274161ba257307adf452233ebc64c9c0aaebfaee73fac8a4"}}, "url": "/wiki/plan/windowagg/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/windowagg/?v=20"}], "present": true}, {"slug": "bitmap-index-scan", "name": "Bitmap Index Scan", "name_zh": "BitmapIndexScan", "category": "Bitmap", "summary": "Scans an index and produces a bitmap of matching tuple locations.", "aliases": ["Bitmap Index Scan", "BitmapIndexScan", "T_BitmapIndexScan"], "content_hash": "3199b7487fd6d632de557dbd929a6e3c17896619aeb18189f9f1fc3304906872", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "11": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "12": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "13": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "14": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "15": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "16": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "17": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "b81114c9864c11cc43d2183d9c32e01632186cff8cced0f6ff218f56f56485c0"}, "18": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "08e8d1afde24882a70dccba204ec21bdcea148fa12f7f53d14a221b80af1cc37"}, "19": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "08e8d1afde24882a70dccba204ec21bdcea148fa12f7f53d14a221b80af1cc37"}, "20": {"facts": [{"label": "Core node tag", "value": "T_BitmapIndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Index Scan"}, {"label": "Inputs", "value": "An index"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapIndexScan"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans an index and produces a bitmap of matching tuple locations."], "comparison_hash": "08e8d1afde24882a70dccba204ec21bdcea148fa12f7f53d14a221b80af1cc37"}}, "url": "/wiki/plan/bitmap-index-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/plan/bitmap-index-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/bitmap-index-scan/?v=20"}], "present": true}, {"slug": "bitmapand", "name": "BitmapAnd", "name_zh": "BitmapAnd", "category": "Bitmap", "summary": "Intersects bitmaps produced by its child plans.", "aliases": ["BitmapAnd", "T_BitmapAnd"], "content_hash": "6423b728057b60c165593b809d228f82bbf02a433dcc1d69ba1105867136eb95", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "11": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "12": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "13": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "14": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "15": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "16": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "17": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "18": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "19": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}, "20": {"facts": [{"label": "Core node tag", "value": "T_BitmapAnd"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapAnd"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapAnd"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Intersects bitmaps produced by its child plans."], "comparison_hash": "ffac2f4c3c78a9e2f88eb2c2de755f5a69e40f1ac6d7e9bcb4ed08615c9cb803"}}, "url": "/wiki/plan/bitmapand/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/bitmapand/?v=20"}], "present": true}, {"slug": "bitmapor", "name": "BitmapOr", "name_zh": "BitmapOr", "category": "Bitmap", "summary": "Unions bitmaps produced by its child plans.", "aliases": ["BitmapOr", "T_BitmapOr"], "content_hash": "7f9182fb8e68ec6e2d9cef66a3b2e1134d354dc29d296ee25b10a06ecfec7c3f", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "11": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "12": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "13": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "14": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "15": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "16": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "17": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "18": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "19": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}, "20": {"facts": [{"label": "Core node tag", "value": "T_BitmapOr"}, {"label": "Structured EXPLAIN Node Type", "value": "BitmapOr"}, {"label": "Inputs", "value": "Bitmap-producing child plans"}, {"label": "Output", "value": "Tuple-location bitmap, not a tuple stream"}, {"label": "Executor initializer", "value": "ExecInitBitmapOr"}, {"label": "Memory mechanism", "value": "bitmap-lossification"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Unions bitmaps produced by its child plans."], "comparison_hash": "c0ca503a6029c37ec720213dcdc3094997eb194d4920da68f94a7420d3e8f1d2"}}, "url": "/wiki/plan/bitmapor/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/bitmapor/?v=20"}], "present": true}, {"slug": "append", "name": "Append", "name_zh": "Append", "category": "Combination", "summary": "Visits its child plans and combines their rows.", "aliases": ["Append", "T_Append"], "content_hash": "7b84df68f27b010d9415995931cc4f4eeee175de068b68a7ee3bf105e4e15287", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "494c616cd0c3db8cfa872d05ac27ead20a9d237ba53a6bf8893491043fe7a7be"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Append"}, {"label": "Structured EXPLAIN Node Type", "value": "Append"}, {"label": "Inputs", "value": "Multiple child plans"}, {"label": "Output", "value": "Combined tuples"}, {"label": "Executor initializer", "value": "ExecInitAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Visits its child plans and combines their rows."], "comparison_hash": "05fc087ef5a99b9d2d14f9b7e397d941085dafd8c263de24871ec9926b47ad8f"}}, "url": "/wiki/plan/append/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/append/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/plan/append/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/append/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/append/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/append/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/append/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/append/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/append/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/append/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/append/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/append/?v=20"}], "present": true}, {"slug": "merge-append", "name": "Merge Append", "name_zh": "MergeAppend", "category": "Combination", "summary": "Merges sorted child streams while preserving the required ordering.", "aliases": ["Merge Append", "MergeAppend", "T_MergeAppend"], "content_hash": "da20a53f434828ff7d07c8f5cabfffdfc7c34de544ea2aea19d6d6445278525a", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "11": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "12": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "13": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "14": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "15": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "16": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "17": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "18": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "19": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}, "20": {"facts": [{"label": "Core node tag", "value": "T_MergeAppend"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Append"}, {"label": "Inputs", "value": "Multiple sorted child plans"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitMergeAppend"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Merges sorted child streams while preserving the required ordering."], "comparison_hash": "5428ffe21c76597da696d12a775fd915b1be22e9ba2d2d5ba3d84704f51ff3d9"}}, "url": "/wiki/plan/merge-append/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/merge-append/?v=20"}], "present": true}, {"slug": "recursive-union", "name": "Recursive Union", "name_zh": "RecursiveUnion", "category": "Combination", "summary": "Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables.", "aliases": ["Recursive Union", "RecursiveUnion", "T_RecursiveUnion"], "content_hash": "644b31619c32148a2975b5d3f69bf1cb22484977db35fe1c5f2f7ee32bd431fb", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "11": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "12": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "13": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "14": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "15": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "16": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "17": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "18": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "19": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}, "20": {"facts": [{"label": "Core node tag", "value": "T_RecursiveUnion"}, {"label": "Structured EXPLAIN Node Type", "value": "Recursive Union"}, {"label": "Inputs", "value": "Non-recursive and recursive child plans"}, {"label": "Output", "value": "Recursive query tuples"}, {"label": "Executor initializer", "value": "ExecInitRecursiveUnion"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Executes the non-recursive and recursive terms of a recursive union using working and intermediate tables."], "comparison_hash": "483291c3112fd1d9f34701a541efd658b64074aa0300e044d5e96c65ca8e9023"}}, "url": "/wiki/plan/recursive-union/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/recursive-union/?v=20"}], "present": true}, {"slug": "setop", "name": "SetOp", "name_zh": "SetOp", "category": "Combination", "summary": "Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy.", "aliases": ["HashSetOp", "SetOp", "T_SetOp"], "content_hash": "74026cebbdf8e9fc99437a57807e013c8a469c5c789342ccb4c275c76275ed50", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "11": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "12": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "13": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "14": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "15": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "16": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "17": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "18": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "19": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}, "20": {"facts": [{"label": "Core node tag", "value": "T_SetOp"}, {"label": "Structured EXPLAIN Node Type", "value": "SetOp"}, {"label": "Inputs", "value": "Set-operation input plans"}, {"label": "Output", "value": "Set-operation result tuples"}, {"label": "Executor initializer", "value": "ExecInitSetOp"}, {"label": "Memory mechanism", "value": "unclassified"}, {"label": "EXPLAIN strategies", "value": "Sorted, Hashed"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Implements the selected INTERSECT or EXCEPT operation using a sorted or hashed strategy."], "comparison_hash": "80b6baf9b8a135550547930365345dffe7364bc6d31bc97675ace66822910a63"}}, "url": "/wiki/plan/setop/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/setop/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/setop/?v=20"}], "present": true}, {"slug": "unique", "name": "Unique", "name_zh": "Unique", "category": "Combination", "summary": "Removes adjacent duplicates from a sorted input stream.", "aliases": ["T_Unique", "Unique"], "content_hash": "7b7c186b69e0bddde136ba6b8aa1564bae380a0e2032974bc974f63554d59982", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Unique"}, {"label": "Structured EXPLAIN Node Type", "value": "Unique"}, {"label": "Inputs", "value": "One sorted child plan"}, {"label": "Output", "value": "Distinct tuples"}, {"label": "Executor initializer", "value": "ExecInitUnique"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Removes adjacent duplicates from a sorted input stream."], "comparison_hash": "8fa24b0c3a61705b0b07250c27c004e5277482cfe2af4c65cce711d7ccac63f3"}}, "url": "/wiki/plan/unique/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/unique/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/unique/?v=20"}], "present": true}, {"slug": "limit", "name": "Limit", "name_zh": "Limit", "category": "Control", "summary": "Applies the plan row-count and offset bounds to its child output.", "aliases": ["Limit", "T_Limit"], "content_hash": "a296f240365dc41f7785fa0d6c4712a73c40fb146aa2bd40ef4796fb96cf9b5b", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Limit"}, {"label": "Structured EXPLAIN Node Type", "value": "Limit"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "The selected slice of tuples"}, {"label": "Executor initializer", "value": "ExecInitLimit"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Applies the plan row-count and offset bounds to its child output."], "comparison_hash": "b3c3324250451387ccc954865a29ed33ce3a9dd7167e0e44ed92802679df763a"}}, "url": "/wiki/plan/limit/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/limit/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/limit/?v=20"}], "present": true}, {"slug": "lockrows", "name": "LockRows", "name_zh": "LockRows", "category": "Control", "summary": "Locks rows selected by its child for row-locking clauses.", "aliases": ["LockRows", "T_LockRows"], "content_hash": "799293bef5b0135fef7ebcbdb9c63a78774579c331cad7cd32c66101654d281b", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "11": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "12": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "13": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "14": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "15": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "16": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "17": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "18": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "19": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}, "20": {"facts": [{"label": "Core node tag", "value": "T_LockRows"}, {"label": "Structured EXPLAIN Node Type", "value": "LockRows"}, {"label": "Inputs", "value": "One child plan with row identity information"}, {"label": "Output", "value": "Locked qualifying tuples"}, {"label": "Executor initializer", "value": "ExecInitLockRows"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Locks rows selected by its child for row-locking clauses."], "comparison_hash": "67f9133563e6e17a1409787c4b2ae050edaccb9feed71e462118303f83324626"}}, "url": "/wiki/plan/lockrows/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/lockrows/?v=20"}], "present": true}, {"slug": "projectset", "name": "ProjectSet", "name_zh": "ProjectSet", "category": "Control", "summary": "Evaluates set-returning expressions in the target list for rows from its child.", "aliases": ["ProjectSet", "T_ProjectSet"], "content_hash": "b4a17ac9acce045aceee850a9ff0f16de0155a7b7ab0d1412d51824b830fbcb5", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "11": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "12": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "13": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "14": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "15": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "16": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "17": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "18": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "19": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}, "20": {"facts": [{"label": "Core node tag", "value": "T_ProjectSet"}, {"label": "Structured EXPLAIN Node Type", "value": "ProjectSet"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Expanded result tuples"}, {"label": "Executor initializer", "value": "ExecInitProjectSet"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Evaluates set-returning expressions in the target list for rows from its child."], "comparison_hash": "67eb48dae4edf18acce1d9762e9a041057c4b07a8b1b127ee6f4a2bca7960ed8"}}, "url": "/wiki/plan/projectset/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/projectset/?v=20"}], "present": true}, {"slug": "result", "name": "Result", "name_zh": "Result", "category": "Control", "summary": "Evaluates a projection and an optional one-time condition, with or without an input plan.", "aliases": ["Result", "T_Result"], "content_hash": "ba1369f2eea4bc89b903d520cbdc0c9b39941b421e72e6dcaf36b2f144de8b8d", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Result"}, {"label": "Structured EXPLAIN Node Type", "value": "Result"}, {"label": "Inputs", "value": "Optional child plan"}, {"label": "Output", "value": "Projected tuples"}, {"label": "Executor initializer", "value": "ExecInitResult"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Evaluates a projection and an optional one-time condition, with or without an input plan."], "comparison_hash": "7d9e21f5e91321228505ba502e7faa5b9ebdda5ba4d71b8a9b97571a1f87b5f5"}}, "url": "/wiki/plan/result/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/result/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/result/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/result/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/result/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/result/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/result/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/result/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/result/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/result/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/result/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/result/?v=20"}], "present": true}, {"slug": "custom-scan", "name": "Custom Scan", "name_zh": "CustomScan", "category": "Extensibility", "summary": "Executes a plan supplied by a custom-scan provider.", "aliases": ["Custom Scan (%s)", "CustomScan", "T_CustomScan"], "content_hash": "e42bb000e6ab1d49611da52634bee780e2ced0da09b8479c26e1e7fa5ac1ee0a", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "11": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "12": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "13": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "14": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "15": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "16": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "17": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "18": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "19": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}, "20": {"facts": [{"label": "Core node tag", "value": "T_CustomScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Custom Scan"}, {"label": "Inputs", "value": "Provider-defined plan, possibly with children"}, {"label": "Output", "value": "Provider-defined tuples"}, {"label": "Executor initializer", "value": "ExecInitCustomScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Executes a plan supplied by a custom-scan provider."], "comparison_hash": "c905b2ddadbea858aa4811fa7d15ee0733e3c82e2ac2c9fad827846072b5c975"}}, "url": "/wiki/plan/custom-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/custom-scan/?v=20"}], "present": true}, {"slug": "foreign-scan", "name": "Foreign Scan", "name_zh": "ForeignScan", "category": "Extensibility", "summary": "Delegates a foreign scan or supported direct modification to the foreign-data wrapper.", "aliases": ["Foreign Delete", "Foreign Insert", "Foreign Scan", "Foreign Update", "ForeignScan", "T_ForeignScan"], "content_hash": "e8a00b1256b63b1dbb9ad615be10919cbcedb8e05e607c6892c146112d2d2ab7", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "11": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "12": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "13": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "14": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "15": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "16": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "17": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "18": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "19": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}, "20": {"facts": [{"label": "Core node tag", "value": "T_ForeignScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Foreign Scan"}, {"label": "Inputs", "value": "Foreign-data wrapper plan and callbacks"}, {"label": "Output", "value": "Provider-defined scan or RETURNING tuples"}, {"label": "Executor initializer", "value": "ExecInitForeignScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Delegates a foreign scan or supported direct modification to the foreign-data wrapper."], "comparison_hash": "1c2fce5096a585774ac71065ed48f534475dbb94feb6a37eb58f5b2ea8f25ac5"}}, "url": "/wiki/plan/foreign-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/foreign-scan/?v=20"}], "present": true}, {"slug": "hash", "name": "Hash", "name_zh": "Hash", "category": "Join", "summary": "Builds the hash table consumed by a hash join.", "aliases": ["Hash", "T_Hash"], "content_hash": "6f465636f139b620089b2f2ec1bae20c244768d30189a0dd1b76b251e9ca4410", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "f2bd6432fff5ff0e5b0364cd2695c35ec4d211083db694a822764b1c330fbdbf"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Hash"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash"}, {"label": "Inputs", "value": "The hash join inner child plan"}, {"label": "Output", "value": "Hash table, not a normal tuple stream"}, {"label": "Executor initializer", "value": "ExecInitHash"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Builds the hash table consumed by a hash join."], "comparison_hash": "2d9def2bb1ea7366b3f68169fa01faf4e00149c2373e67133c3ac0d69137032f"}}, "url": "/wiki/plan/hash/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/plan/hash/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/hash/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/hash/?v=20"}], "present": true}, {"slug": "hash-join", "name": "Hash Join", "name_zh": "HashJoin", "category": "Join", "summary": "Probes a hash table built from its inner input while reading its outer input.", "aliases": ["Hash", "HashJoin", "T_HashJoin"], "content_hash": "7e608f95eb480ff225df08f08d773ba6dc855f0565b1bb5f6f3c457668a23b51", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "733e61a55f51d5300ef22e028431f71e7183c94ce0719d23a50452dfa90acaf6"}, "11": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "12": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "13": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "14": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "15": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "16": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "17": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "18": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "19": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}, "20": {"facts": [{"label": "Core node tag", "value": "T_HashJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Hash Join"}, {"label": "Inputs", "value": "Outer child and inner Hash plan"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitHashJoin"}, {"label": "Memory mechanism", "value": "hash-batches"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Probes a hash table built from its inner input while reading its outer input."], "comparison_hash": "f721dd250dc8d1d06a3d3dc814d77a301b3c9b8eb383affa6abbdd7a95c634df"}}, "url": "/wiki/plan/hash-join/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/plan/hash-join/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/hash-join/?v=20"}], "present": true}, {"slug": "merge-join", "name": "Merge Join", "name_zh": "MergeJoin", "category": "Join", "summary": "Joins ordered input streams using merge clauses.", "aliases": ["Merge", "MergeJoin", "T_MergeJoin"], "content_hash": "fc2274bf13780cd868a3c75ea485339a90f50f739c2df501be1d6ee5c65b27c8", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "11": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "12": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "13": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "14": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "15": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "16": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "17": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "18": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "19": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}, "20": {"facts": [{"label": "Core node tag", "value": "T_MergeJoin"}, {"label": "Structured EXPLAIN Node Type", "value": "Merge Join"}, {"label": "Inputs", "value": "Ordered outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitMergeJoin"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Joins ordered input streams using merge clauses."], "comparison_hash": "b17771ee4d48585afbaba91552e5eb00f05a4b6784aa491387217937a4a30511"}}, "url": "/wiki/plan/merge-join/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/merge-join/?v=20"}], "present": true}, {"slug": "nested-loop", "name": "Nested Loop", "name_zh": "NestLoop", "category": "Join", "summary": "Rescans the inner plan for outer rows and evaluates the join qualifications.", "aliases": ["NestLoop", "Nested Loop", "T_NestLoop"], "content_hash": "8924657d1a8499ae4140bc841e5d37b17617e3af649bff66b5d149e1eff46c5a", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "11": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "12": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "13": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "14": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "15": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "16": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "17": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "18": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "19": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}, "20": {"facts": [{"label": "Core node tag", "value": "T_NestLoop"}, {"label": "Structured EXPLAIN Node Type", "value": "Nested Loop"}, {"label": "Inputs", "value": "Outer and inner child plans"}, {"label": "Output", "value": "Joined tuples according to the selected join type"}, {"label": "Executor initializer", "value": "ExecInitNestLoop"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Rescans the inner plan for outer rows and evaluates the join qualifications."], "comparison_hash": "852ca4868c795edb229c6a1a6741f21e4cec6ee99e843b68527b4563765adf7d"}}, "url": "/wiki/plan/nested-loop/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/nested-loop/?v=20"}], "present": true}, {"slug": "materialize", "name": "Materialize", "name_zh": "Material", "category": "Materialization", "summary": "Stores its child output so the rows can be read again.", "aliases": ["Material", "Materialize", "T_Material"], "content_hash": "69abc3bfb2a3c9678e45280109d1dc0cab0cacb9b0c08d2ee0cd6c581d2154be", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Material"}, {"label": "Structured EXPLAIN Node Type", "value": "Materialize"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Materialized tuples"}, {"label": "Executor initializer", "value": "ExecInitMaterial"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Stores its child output so the rows can be read again."], "comparison_hash": "c1d37bf334409fe6ded8ce560fe45fd495ff89ceda2808b6f5ef18daca520393"}}, "url": "/wiki/plan/materialize/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/materialize/?v=20"}], "present": true}, {"slug": "memoize", "name": "Memoize", "name_zh": "Memoize", "category": "Materialization", "summary": "Caches results from a parameterized child and reuses them when the same parameter values recur.", "aliases": ["Memoize", "T_Memoize"], "content_hash": "f89fcc4f6ea3f2e1708296ae392fd1c44fe7caa8a6c932d46ae40983f766b96b", "versions": {"14": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Memoize"}, {"label": "Structured EXPLAIN Node Type", "value": "Memoize"}, {"label": "Inputs", "value": "One parameterized child plan"}, {"label": "Output", "value": "Cached or newly produced child tuples"}, {"label": "Executor initializer", "value": "ExecInitMemoize"}, {"label": "Memory mechanism", "value": "eviction"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Caches results from a parameterized child and reuses them when the same parameter values recur."], "comparison_hash": "ce79083064802c6772e741ce60e19e9c932b05d1f1a5ed00e8f8f2e86d678f5b"}}, "url": "/wiki/plan/memoize/?v=18", "cells": [{"major": "10", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 10.23 \u00b7 Not recorded in this version", "url": "/wiki/plan/memoize/?v=10"}, {"major": "11", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 11.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/memoize/?v=11"}, {"major": "12", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 12.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/memoize/?v=12"}, {"major": "13", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 13.23 \u00b7 Not recorded in this version", "url": "/wiki/plan/memoize/?v=13"}, {"major": "14", "state": "added", "label": "First recorded in this sample", "title": "PostgreSQL 14.24 \u00b7 First recorded in this sample", "url": "/wiki/plan/memoize/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/memoize/?v=20"}], "present": true}, {"slug": "modifytable", "name": "ModifyTable", "name_zh": "ModifyTable", "category": "Modification", "summary": "Performs the data-modification operation selected by the plan and produces RETURNING rows when requested.", "aliases": ["Delete", "Insert", "Merge", "ModifyTable", "T_ModifyTable", "Update"], "content_hash": "68bbce37f45404930fee9ad5ae3daa94be8681a1f255e3a0e86f0d3d67324dcf", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "1d8fe2fc647b2bc0f8065366231bca50559a2445da7884a9bdaaca008b67b926"}, "11": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "1d8fe2fc647b2bc0f8065366231bca50559a2445da7884a9bdaaca008b67b926"}, "12": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "1d8fe2fc647b2bc0f8065366231bca50559a2445da7884a9bdaaca008b67b926"}, "13": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "1d8fe2fc647b2bc0f8065366231bca50559a2445da7884a9bdaaca008b67b926"}, "14": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "1d8fe2fc647b2bc0f8065366231bca50559a2445da7884a9bdaaca008b67b926"}, "15": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}, "16": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}, "17": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}, "18": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}, "19": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}, "20": {"facts": [{"label": "Core node tag", "value": "T_ModifyTable"}, {"label": "Structured EXPLAIN Node Type", "value": "ModifyTable"}, {"label": "Inputs", "value": "Modification input plan or plans"}, {"label": "Output", "value": "RETURNING tuples when requested"}, {"label": "Executor initializer", "value": "ExecInitModifyTable"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Performs the data-modification operation selected by the plan and produces RETURNING rows when requested."], "comparison_hash": "cf664334c8d3479ccec4439895ce74d4602368021778f85473730f30aa4ff4db"}}, "url": "/wiki/plan/modifytable/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=14"}, {"major": "15", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 15.19 \u00b7 Interface or attribute change", "url": "/wiki/plan/modifytable/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/modifytable/?v=20"}], "present": true}, {"slug": "incremental-sort", "name": "Incremental Sort", "name_zh": "IncrementalSort", "category": "Ordering", "summary": "Extends an existing ordering by sorting groups that share the presorted key prefix.", "aliases": ["Incremental Sort", "IncrementalSort", "T_IncrementalSort"], "content_hash": "db16888ef5f851a3f09b3750ff12727ff7020771907c13664945478dfc3ccae0", "versions": {"13": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "14": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "15": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "16": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "17": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "18": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "19": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}, "20": {"facts": [{"label": "Core node tag", "value": "T_IncrementalSort"}, {"label": "Structured EXPLAIN Node Type", "value": "Incremental Sort"}, {"label": "Inputs", "value": "One partly ordered child plan"}, {"label": "Output", "value": "Tuples ordered by the full sort key"}, {"label": "Executor initializer", "value": "ExecInitIncrementalSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Extends an existing ordering by sorting groups that share the presorted key prefix."], "comparison_hash": "28d8e33452af10dcac50fa98fa4c5c6f639be663ae15b475f003e7c287e678f4"}}, "url": "/wiki/plan/incremental-sort/?v=18", "cells": [{"major": "10", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 10.23 \u00b7 Not recorded in this version", "url": "/wiki/plan/incremental-sort/?v=10"}, {"major": "11", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 11.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/incremental-sort/?v=11"}, {"major": "12", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 12.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/incremental-sort/?v=12"}, {"major": "13", "state": "added", "label": "First recorded in this sample", "title": "PostgreSQL 13.23 \u00b7 First recorded in this sample", "url": "/wiki/plan/incremental-sort/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/incremental-sort/?v=20"}], "present": true}, {"slug": "sort", "name": "Sort", "name_zh": "Sort", "category": "Ordering", "summary": "Sorts rows from its child according to the plan sort keys.", "aliases": ["Sort", "T_Sort"], "content_hash": "f67efc0a36f35d53ee59b32bac7d7098b6d351977b205edbf52c8fe17d3a9931", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "7eb0c019a667ecfcc429eb0fd43abab45d478f0ff7565169f544d2ddb223a1c9"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Sort"}, {"label": "Structured EXPLAIN Node Type", "value": "Sort"}, {"label": "Inputs", "value": "One child plan"}, {"label": "Output", "value": "Sorted tuples"}, {"label": "Executor initializer", "value": "ExecInitSort"}, {"label": "Memory mechanism", "value": "tuplesort"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Sorts rows from its child according to the plan sort keys."], "comparison_hash": "32a824f93669794b01449d5d8a08ff4edcb6024cb1a897131b35fe5cddc2e4da"}}, "url": "/wiki/plan/sort/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=10"}, {"major": "11", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 11.22 \u00b7 Interface or attribute change", "url": "/wiki/plan/sort/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/sort/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/sort/?v=20"}], "present": true}, {"slug": "gather", "name": "Gather", "name_zh": "Gather", "category": "Parallelism", "summary": "Combines tuples from parallel workers and any participating leader execution.", "aliases": ["Gather", "T_Gather"], "content_hash": "bc5c10ef300616be8410f15b621a14789ef9325912f54a4d163750740b3678c5", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "11": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "12": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "13": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "14": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "15": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "16": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "17": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "18": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "19": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}, "20": {"facts": [{"label": "Core node tag", "value": "T_Gather"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather"}, {"label": "Inputs", "value": "One parallel child plan"}, {"label": "Output", "value": "Combined tuples without a merge-order guarantee"}, {"label": "Executor initializer", "value": "ExecInitGather"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Combines tuples from parallel workers and any participating leader execution."], "comparison_hash": "6fbd3ac9f7150ee72d4ae315dded3c145ee461d926c8ce6a04a1b8c6c31deee4"}}, "url": "/wiki/plan/gather/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/gather/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/gather/?v=20"}], "present": true}, {"slug": "gather-merge", "name": "Gather Merge", "name_zh": "GatherMerge", "category": "Parallelism", "summary": "Merges ordered tuple streams from parallel workers and any participating leader execution.", "aliases": ["Gather Merge", "GatherMerge", "T_GatherMerge"], "content_hash": "60a783e74d1850b9432b5b97c5799704bd4e9d917faa54bb6fb742f37bf78f8d", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "11": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "12": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "13": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "14": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "15": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "16": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "17": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "18": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "19": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}, "20": {"facts": [{"label": "Core node tag", "value": "T_GatherMerge"}, {"label": "Structured EXPLAIN Node Type", "value": "Gather Merge"}, {"label": "Inputs", "value": "One ordered parallel child plan"}, {"label": "Output", "value": "Merged ordered tuples"}, {"label": "Executor initializer", "value": "ExecInitGatherMerge"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Merges ordered tuple streams from parallel workers and any participating leader execution."], "comparison_hash": "7a1c97656626af0791de9743def719924b5c292f47f0634adc2b0e6e4fd2ad21"}}, "url": "/wiki/plan/gather-merge/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/gather-merge/?v=20"}], "present": true}, {"slug": "bitmap-heap-scan", "name": "Bitmap Heap Scan", "name_zh": "BitmapHeapScan", "category": "Scan", "summary": "Visits heap pages selected by a bitmap and performs required rechecks.", "aliases": ["Bitmap Heap Scan", "BitmapHeapScan", "T_BitmapHeapScan"], "content_hash": "f367ec0c2e303f54fe421e2de5843b2f1b11e9e76c9ff4dd8073d1b0de9525ed", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "11": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "12": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "13": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "14": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "15": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "16": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "17": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "bd05a85a745255a1c9cb85ef7f1d7684cac042aad27b3d05ee77a5ce928a6d0b"}, "18": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "f7ee070f7f36c2ed7f3e237eb0933d70972eaf9860d38070438efebcf8ec6e71"}, "19": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "fb953ace39dab4979a295ec6cf4aaf7c5d9906527002f98d1ce062efc03be83b"}, "20": {"facts": [{"label": "Core node tag", "value": "T_BitmapHeapScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Bitmap Heap Scan"}, {"label": "Inputs", "value": "A tuple-location bitmap and relation"}, {"label": "Output", "value": "Qualified heap tuples"}, {"label": "Executor initializer", "value": "ExecInitBitmapHeapScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Visits heap pages selected by a bitmap and performs required rechecks."], "comparison_hash": "fb953ace39dab4979a295ec6cf4aaf7c5d9906527002f98d1ce062efc03be83b"}}, "url": "/wiki/plan/bitmap-heap-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/plan/bitmap-heap-scan/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/plan/bitmap-heap-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/bitmap-heap-scan/?v=20"}], "present": true}, {"slug": "cte-scan", "name": "CTE Scan", "name_zh": "CteScan", "category": "Scan", "summary": "Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed.", "aliases": ["CTE Scan", "CteScan", "T_CteScan"], "content_hash": "23eb8e1e062f21a4a628d2b82bf42c5a0ee0846e090087982bd49f1ee26ff49c", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "11": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "12": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "13": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "14": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "15": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "16": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "17": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "18": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "19": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}, "20": {"facts": [{"label": "Core node tag", "value": "T_CteScan"}, {"label": "Structured EXPLAIN Node Type", "value": "CTE Scan"}, {"label": "Inputs", "value": "A CTE plan and shared tuplestore"}, {"label": "Output", "value": "CTE result tuples"}, {"label": "Executor initializer", "value": "ExecInitCteScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Reads the shared tuplestore of a common-table-expression plan, asking that plan for more rows when needed."], "comparison_hash": "b99869b4fa614eb4c00675da9cf14c4d017018c55dbc2f0ea18d335cccb0a3aa"}}, "url": "/wiki/plan/cte-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/cte-scan/?v=20"}], "present": true}, {"slug": "function-scan", "name": "Function Scan", "name_zh": "FunctionScan", "category": "Scan", "summary": "Scans table-function results from a FROM clause.", "aliases": ["Function Scan", "FunctionScan", "T_FunctionScan"], "content_hash": "80fb9bedf1785e27b5facbe03b560f8807c56af4596a9f0846c6b99c09ae796a", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "11": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "12": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "13": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "14": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "15": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "16": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "17": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "18": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "19": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}, "20": {"facts": [{"label": "Core node tag", "value": "T_FunctionScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Function Scan"}, {"label": "Inputs", "value": "One or more table functions"}, {"label": "Output", "value": "Function result tuples"}, {"label": "Executor initializer", "value": "ExecInitFunctionScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans table-function results from a FROM clause."], "comparison_hash": "2365d55fffb574f20bb1650c555a730bd9a9b3e53dc83613a08ae2b19cc9afff"}}, "url": "/wiki/plan/function-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/function-scan/?v=20"}], "present": true}, {"slug": "index-only-scan", "name": "Index Only Scan", "name_zh": "IndexOnlyScan", "category": "Scan", "summary": "Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice.", "aliases": ["Index Only Scan", "IndexOnlyScan", "T_IndexOnlyScan"], "content_hash": "788b6c7dbf8a0476e6e73fe8a750a4dccf52593f2222ae4a01b19bf08c7385d4", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "11": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "12": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "13": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "14": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "15": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "16": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "17": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "aa21a339252c1b45b1415cfaeeb65e278cc05df0ac3477c15dc983b5b8fb5609"}, "18": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "149a13d2842f396b0e35eb23a93337d9e8c708fbcf6665eec0ab0ebbd5320b9b"}, "19": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "b9f4406a649452f700890bdf9ffd036b726f1aa809fe22b38dbcff8e9f5ce922"}, "20": {"facts": [{"label": "Core node tag", "value": "T_IndexOnlyScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Only Scan"}, {"label": "Inputs", "value": "An index, relation and visibility information"}, {"label": "Output", "value": "Qualified tuples from index values"}, {"label": "Executor initializer", "value": "ExecInitIndexOnlyScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Uses index values for the result and checks tuple visibility, visiting the heap when the visibility map does not suffice."], "comparison_hash": "b9f4406a649452f700890bdf9ffd036b726f1aa809fe22b38dbcff8e9f5ce922"}}, "url": "/wiki/plan/index-only-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/plan/index-only-scan/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/plan/index-only-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/index-only-scan/?v=20"}], "present": true}, {"slug": "index-scan", "name": "Index Scan", "name_zh": "IndexScan", "category": "Scan", "summary": "Uses an index to identify table tuples and fetches them from the relation.", "aliases": ["Index Scan", "IndexScan", "T_IndexScan"], "content_hash": "f53ebc4a90679a398a8018bbd906d3fd30a00f8375f009e7068d9db7115abadf", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "11": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "12": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "13": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "14": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "15": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "16": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "17": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "fb7921673ff1820c8a2d077e3523844901f32a51d84d2f6f01020dd044f11db7"}, "18": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "bff6d57534571534f7bc51a46aeea96e7625a417c3e00e43facf5de0097b2963"}, "19": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "358cca44ccdd44b7e726c069322da3878096f0631d5d3134722c1697b59dc486"}, "20": {"facts": [{"label": "Core node tag", "value": "T_IndexScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Index Scan"}, {"label": "Inputs", "value": "An index and its relation"}, {"label": "Output", "value": "Qualified table tuples"}, {"label": "Executor initializer", "value": "ExecInitIndexScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Uses an index to identify table tuples and fetches them from the relation."], "comparison_hash": "358cca44ccdd44b7e726c069322da3878096f0631d5d3134722c1697b59dc486"}}, "url": "/wiki/plan/index-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/plan/index-scan/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/plan/index-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/index-scan/?v=20"}], "present": true}, {"slug": "named-tuplestore-scan", "name": "Named Tuplestore Scan", "name_zh": "NamedTuplestoreScan", "category": "Scan", "summary": "Scans a named tuplestore registered in the query environment.", "aliases": ["Named Tuplestore Scan", "NamedTuplestoreScan", "T_NamedTuplestoreScan"], "content_hash": "0f934df652968b03894e24ffc9687486654c670f0565e493f8835054b00c1d6f", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "11": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "12": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "13": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "14": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "15": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "16": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "17": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "18": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "19": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}, "20": {"facts": [{"label": "Core node tag", "value": "T_NamedTuplestoreScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Named Tuplestore Scan"}, {"label": "Inputs", "value": "A named tuplestore"}, {"label": "Output", "value": "Stored tuples"}, {"label": "Executor initializer", "value": "ExecInitNamedTuplestoreScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans a named tuplestore registered in the query environment."], "comparison_hash": "cf1c088f998d139de99ea7b7275136563782039d662dd21913455f5a356f2dd0"}}, "url": "/wiki/plan/named-tuplestore-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/named-tuplestore-scan/?v=20"}], "present": true}, {"slug": "sample-scan", "name": "Sample Scan", "name_zh": "SampleScan", "category": "Scan", "summary": "Reads a relation using the selected table-sampling method.", "aliases": ["Sample Scan", "SampleScan", "T_SampleScan"], "content_hash": "1f2cc990f86661ef61c2f70c4b4d45148043e6918f83da47483d7d15554716cd", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "11": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "12": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "13": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "14": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "15": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "16": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "17": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "18": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "19": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}, "20": {"facts": [{"label": "Core node tag", "value": "T_SampleScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Sample Scan"}, {"label": "Inputs", "value": "A relation and sampling method"}, {"label": "Output", "value": "Sampled tuples"}, {"label": "Executor initializer", "value": "ExecInitSampleScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Reads a relation using the selected table-sampling method."], "comparison_hash": "353ba2b42b3d419de2b0fd5f49ddf5d460404fbad27fe1fded7536333a1bedeb"}}, "url": "/wiki/plan/sample-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/sample-scan/?v=20"}], "present": true}, {"slug": "seq-scan", "name": "Seq Scan", "name_zh": "SeqScan", "category": "Scan", "summary": "Reads a relation through a sequential scan and applies its scan qualifications.", "aliases": ["Seq Scan", "SeqScan", "T_SeqScan"], "content_hash": "9ab82aa4b6c2f0aa7a079f4847bc7b25fb25745e8e050604f944c7496f166391", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "11": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "12": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "13": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "14": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "15": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "16": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "17": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "18": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "5631c0db91382334dc4ca321ae0335013d10ae1c0c24f3523fcca0184bbbc81b"}, "19": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "af22b5ba717cf4297e255ac7bbc4ddb497269149637e2e3aaafb72ba70c041d8"}, "20": {"facts": [{"label": "Core node tag", "value": "T_SeqScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Seq Scan"}, {"label": "Inputs", "value": "A relation"}, {"label": "Output", "value": "Qualified relation tuples"}, {"label": "Executor initializer", "value": "ExecInitSeqScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Reads a relation through a sequential scan and applies its scan qualifications."], "comparison_hash": "af22b5ba717cf4297e255ac7bbc4ddb497269149637e2e3aaafb72ba70c041d8"}}, "url": "/wiki/plan/seq-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/plan/seq-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/seq-scan/?v=20"}], "present": true}, {"slug": "subquery-scan", "name": "Subquery Scan", "name_zh": "SubqueryScan", "category": "Scan", "summary": "Scans the output of a subquery plan.", "aliases": ["Subquery Scan", "SubqueryScan", "T_SubqueryScan"], "content_hash": "70363d6fcea0911fd594dda9d90bdf3225b7101dad569b9121dc58b13cc292fc", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "11": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "12": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "13": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "14": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "15": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "16": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "17": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "18": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "19": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}, "20": {"facts": [{"label": "Core node tag", "value": "T_SubqueryScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Subquery Scan"}, {"label": "Inputs", "value": "A subquery child plan"}, {"label": "Output", "value": "Subquery result tuples"}, {"label": "Executor initializer", "value": "ExecInitSubqueryScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans the output of a subquery plan."], "comparison_hash": "2c67fdef6b55d5dfeedc05274c332f8e523a7b8dd3ffef1c7cb79b9d6d33566f"}}, "url": "/wiki/plan/subquery-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/subquery-scan/?v=20"}], "present": true}, {"slug": "table-function-scan", "name": "Table Function Scan", "name_zh": "TableFuncScan", "category": "Scan", "summary": "Scans the rows produced by a table function such as XMLTABLE.", "aliases": ["T_TableFuncScan", "Table Function Scan", "TableFuncScan"], "content_hash": "a07322d149186430843d616369d74d441ac872ce190c0b4bf74feb01c5d55097", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "11": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "12": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "13": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "14": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "15": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "16": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "17": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "18": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "19": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}, "20": {"facts": [{"label": "Core node tag", "value": "T_TableFuncScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Table Function Scan"}, {"label": "Inputs", "value": "A table-function expression"}, {"label": "Output", "value": "Table-function result tuples"}, {"label": "Executor initializer", "value": "ExecInitTableFuncScan"}, {"label": "Memory mechanism", "value": "tuplestore"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans the rows produced by a table function such as XMLTABLE."], "comparison_hash": "3af859883351e2772215a6137da127cf425f1c99d9906aeea3a3761c8d60b4c5"}}, "url": "/wiki/plan/table-function-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/table-function-scan/?v=20"}], "present": true}, {"slug": "tid-range-scan", "name": "Tid Range Scan", "name_zh": "TidRangeScan", "category": "Scan", "summary": "Scans a relation over a range of tuple identifiers.", "aliases": ["T_TidRangeScan", "Tid Range Scan", "TidRangeScan"], "content_hash": "a0fbec00e321de32546acaa760891c2bcd32bbd4bdeef35bdc06ca231349d40c", "versions": {"14": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "fc2e690009eada98b87b1cebea56efd35a688fbd53c168572df67f03a1bde70e"}, "15": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "fc2e690009eada98b87b1cebea56efd35a688fbd53c168572df67f03a1bde70e"}, "16": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "fc2e690009eada98b87b1cebea56efd35a688fbd53c168572df67f03a1bde70e"}, "17": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "fc2e690009eada98b87b1cebea56efd35a688fbd53c168572df67f03a1bde70e"}, "18": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "fc2e690009eada98b87b1cebea56efd35a688fbd53c168572df67f03a1bde70e"}, "19": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "2b1ca31ef8003476fae107d50ea742351e6452b02ae0a9b45f03fc0090cdcb3c"}, "20": {"facts": [{"label": "Core node tag", "value": "T_TidRangeScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Range Scan"}, {"label": "Inputs", "value": "A relation and tuple-identifier bounds"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidRangeScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Scans a relation over a range of tuple identifiers."], "comparison_hash": "2b1ca31ef8003476fae107d50ea742351e6452b02ae0a9b45f03fc0090cdcb3c"}}, "url": "/wiki/plan/tid-range-scan/?v=18", "cells": [{"major": "10", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 10.23 \u00b7 Not recorded in this version", "url": "/wiki/plan/tid-range-scan/?v=10"}, {"major": "11", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 11.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/tid-range-scan/?v=11"}, {"major": "12", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 12.22 \u00b7 Not recorded in this version", "url": "/wiki/plan/tid-range-scan/?v=12"}, {"major": "13", "state": "absent", "label": "Not recorded in this version", "title": "PostgreSQL 13.23 \u00b7 Not recorded in this version", "url": "/wiki/plan/tid-range-scan/?v=13"}, {"major": "14", "state": "added", "label": "First recorded in this sample", "title": "PostgreSQL 14.24 \u00b7 First recorded in this sample", "url": "/wiki/plan/tid-range-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/tid-range-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/tid-range-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/tid-range-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/tid-range-scan/?v=18"}, {"major": "19", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 19beta4 \u00b7 Interface or attribute change", "url": "/wiki/plan/tid-range-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/tid-range-scan/?v=20"}], "present": true}, {"slug": "tid-scan", "name": "Tid Scan", "name_zh": "TidScan", "category": "Scan", "summary": "Fetches table tuples using tuple identifiers.", "aliases": ["T_TidScan", "Tid Scan", "TidScan"], "content_hash": "f050641cc364a76dcc1d707717aceaba554f8f2d5534006eb3c8d75f02477c7c", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "11": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "12": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "13": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "14": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "15": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "16": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "17": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "18": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "19": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}, "20": {"facts": [{"label": "Core node tag", "value": "T_TidScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Tid Scan"}, {"label": "Inputs", "value": "A relation and tuple identifiers"}, {"label": "Output", "value": "Selected table tuples"}, {"label": "Executor initializer", "value": "ExecInitTidScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Fetches table tuples using tuple identifiers."], "comparison_hash": "27c48787ee6973592cca83b0723557b9fe9f8bdc43681359f976103257be5ddf"}}, "url": "/wiki/plan/tid-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/tid-scan/?v=20"}], "present": true}, {"slug": "values-scan", "name": "Values Scan", "name_zh": "ValuesScan", "category": "Scan", "summary": "Evaluates and scans a VALUES row list.", "aliases": ["T_ValuesScan", "Values Scan", "ValuesScan"], "content_hash": "f86419b898e1c15b67c5fe40f5d846daadec8fa88bd41311a4f603711d6bc967", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "11": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "12": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "13": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "14": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "15": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "16": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "17": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "18": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "19": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}, "20": {"facts": [{"label": "Core node tag", "value": "T_ValuesScan"}, {"label": "Structured EXPLAIN Node Type", "value": "Values Scan"}, {"label": "Inputs", "value": "A list of row expressions"}, {"label": "Output", "value": "VALUES tuples"}, {"label": "Executor initializer", "value": "ExecInitValuesScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Evaluates and scans a VALUES row list."], "comparison_hash": "a0f7ecd83c2ff3883a8f6be3d13bd28e040a53da79545a3140489e6b4a0e75e8"}}, "url": "/wiki/plan/values-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/values-scan/?v=20"}], "present": true}, {"slug": "worktable-scan", "name": "WorkTable Scan", "name_zh": "WorkTableScan", "category": "Scan", "summary": "Reads the current working table of a recursive union.", "aliases": ["T_WorkTableScan", "WorkTable Scan", "WorkTableScan"], "content_hash": "d02078fa00cc8dd41b3ea0da69566a233dd28df3267ae3694c3c7ec3e533e794", "versions": {"10": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 10.23 source archive", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "11": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 11.22 source archive", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "12": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 12.22 source archive", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "13": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 13.23 source archive", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "14": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 14.24 source archive", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "15": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 15.19 source archive", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "16": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 16.15 source archive", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "17": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 17.11 source archive", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "18": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 18.6 source archive", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "19": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 19beta4 source archive", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "source_snapshot_utc": ""}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}, "20": {"facts": [{"label": "Core node tag", "value": "T_WorkTableScan"}, {"label": "Structured EXPLAIN Node Type", "value": "WorkTable Scan"}, {"label": "Inputs", "value": "The recursive query working table"}, {"label": "Output", "value": "Working-table tuples"}, {"label": "Executor initializer", "value": "ExecInitWorkTableScan"}, {"label": "Memory mechanism", "value": "unclassified"}], "release": {"ref": "PostgreSQL 20devel source archive", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_snapshot_utc": "26-Sep-2026 20:22"}, "signature": null, "description": ["Reads the current working table of a recursive union."], "comparison_hash": "71b471dbdc054af8e4fa93bbbd9076da1fe3facccf5d5a46389f2bab3721761d"}}, "url": "/wiki/plan/worktable-scan/?v=18", "cells": [{"major": "10", "state": "present", "label": "Recorded", "title": "PostgreSQL 10.23 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=10"}, {"major": "11", "state": "present", "label": "Recorded", "title": "PostgreSQL 11.22 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=11"}, {"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=12"}, {"major": "13", "state": "present", "label": "Recorded", "title": "PostgreSQL 13.23 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=13"}, {"major": "14", "state": "present", "label": "Recorded", "title": "PostgreSQL 14.24 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=15"}, {"major": "16", "state": "present", "label": "Recorded", "title": "PostgreSQL 16.15 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=17"}, {"major": "18", "state": "present", "label": "Recorded", "title": "PostgreSQL 18.6 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=19"}, {"major": "20", "state": "present", "label": "Recorded", "title": "PostgreSQL 20devel \u00b7 Recorded", "url": "/wiki/plan/worktable-scan/?v=20"}], "present": true}], "total": 42, "present": 42, "collection_tables": []}