{"kind": "tableam", "major": "18", "rows": [{"slug": "heap", "name": "heap", "name_zh": "Core table AM", "category": "Core table AM", "summary": "The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL.", "aliases": [], "content_hash": "1612ad33787d9f68db16cce2bce26afa690606249036105dea14c90c64b68b36", "versions": {"12": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "41"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "cdc168038f8a0930454c83eead818d36c8fbfe842d4d6e716a39e36c6a09d9cc"}, "13": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "42"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "850336e9baa50632ce39bf1c3673c2fdc1c6f0c399d99c8ead229845b7a7c8d4"}, "14": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "44"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "eee603c9509a489abd6ec6a12129951277b59ad8334e2edc6299d8edd5fa0e38"}, "15": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "44"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "eee603c9509a489abd6ec6a12129951277b59ad8334e2edc6299d8edd5fa0e38"}, "16": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "44"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "d129057b9afc0cb9f38d3137a9d84fd96a035ed851fab81db9903db8ab10aabd"}, "17": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "44"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "d129057b9afc0cb9f38d3137a9d84fd96a035ed851fab81db9903db8ab10aabd"}, "18": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "43"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "1238506f6e6c6648382f3362465d376e28e55ca6108f975b44f413d320769112"}, "19": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "43"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "1238506f6e6c6648382f3362465d376e28e55ca6108f975b44f413d320769112"}, "20": {"facts": [{"label": "Interface family", "value": "Table access method"}, {"label": "Handler or routine", "value": "heapam_methods"}, {"label": "Recorded callbacks", "value": "43"}], "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": ["The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL."], "comparison_hash": "6d11ecc470cf242732e93216296530e2737359721fd9832ecfc769e7062f62d7"}}, "url": "/wiki/tableam/heap/?v=18", "cells": [{"major": "12", "state": "present", "label": "Recorded", "title": "PostgreSQL 12.22 \u00b7 Recorded", "url": "/wiki/tableam/heap/?v=12"}, {"major": "13", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 13.23 \u00b7 Interface or attribute change", "url": "/wiki/tableam/heap/?v=13"}, {"major": "14", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 14.24 \u00b7 Interface or attribute change", "url": "/wiki/tableam/heap/?v=14"}, {"major": "15", "state": "present", "label": "Recorded", "title": "PostgreSQL 15.19 \u00b7 Recorded", "url": "/wiki/tableam/heap/?v=15"}, {"major": "16", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 16.15 \u00b7 Interface or attribute change", "url": "/wiki/tableam/heap/?v=16"}, {"major": "17", "state": "present", "label": "Recorded", "title": "PostgreSQL 17.11 \u00b7 Recorded", "url": "/wiki/tableam/heap/?v=17"}, {"major": "18", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 18.6 \u00b7 Interface or attribute change", "url": "/wiki/tableam/heap/?v=18"}, {"major": "19", "state": "present", "label": "Recorded", "title": "PostgreSQL 19beta4 \u00b7 Recorded", "url": "/wiki/tableam/heap/?v=19"}, {"major": "20", "state": "changed", "label": "Interface or attribute change", "title": "PostgreSQL 20devel \u00b7 Interface or attribute change", "url": "/wiki/tableam/heap/?v=20"}], "present": true}], "total": 1, "present": 1, "collection_tables": [{"key": "tableam-catalogue", "rows": [{"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "14.2.0", "postgres": "16, 17, 18", "extension": {"url": "/e/citus_columnar/", "text": "citus_columnar"}, "description": "Citus columnar storage engine"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.1.2", "postgres": "14, 15, 16", "extension": {"url": "/e/columnar/", "text": "columnar"}, "description": "Hydra Columnar extension"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.2.0", "postgres": "14, 15, 16, 17, 18", "extension": {"url": "/e/pg_mooncake/", "text": "pg_mooncake"}, "description": "Columnstore Table in Postgres"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "2.4.0", "postgres": "15, 16, 17, 18", "extension": {"url": "/e/storage_engine/", "text": "storage_engine"}, "description": "colcompress and rowcompress Table Access Methods with vectorized execution"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1", "postgres": "12, 13, 14, 15, 16, 17, 18", "extension": {"url": "/e/pg_cryogen/", "text": "pg_cryogen"}, "description": "Experimental append-only compressed table access method for PostgreSQL 12 and later."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1", "postgres": "Unknown", "extension": {"url": "/e/undam/", "text": "undam"}, "description": "UNDO storage table access method with in-place updates"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0", "postgres": "12, 13", "extension": {"url": "/e/tcle/", "text": "tcle"}, "description": "Experimental table access method for transparent AES-256-CBC encryption of selected column types."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0", "postgres": "Unknown", "extension": {"url": "/e/append_only_heap/", "text": "append_only_heap"}, "description": "PostgreSQL table access method that avoids fragmentation of variable-length append-only data."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.0", "postgres": "11, 12, 13, 14, 15, 16", "extension": {"url": "/e/redis_backed_storage/", "text": "redis_backed_storage"}, "description": "Experimental PostgreSQL table access method backed by Redis storage."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1.0", "postgres": "15, 16", "extension": {"url": "/e/pgrand/", "text": "pgrand"}, "description": "Generates random test data through a PostgreSQL FDW, with an experimental table access method."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.0", "postgres": "16, 17", "extension": {"url": "/e/pg_elephantduck/", "text": "pg_elephantduck"}, "description": "Columnar PostgreSQL table access method powered by DuckDB and Parquet storage."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.1", "postgres": "Unknown", "extension": {"url": "/e/csv_tam/", "text": "csv_tam"}, "description": "CSV table access method for PostgreSQL that stores table tuples in CSV-formatted relation files."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.1", "postgres": "Unknown", "extension": {"url": "/e/pgtam/", "text": "pgtam"}, "description": "Experimental in-memory PostgreSQL table access method implemented as a C extension."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.0.1", "postgres": "Unknown", "extension": {"url": "/e/gfs/", "text": "gfs"}, "description": "GFS copy-on-read storage: a Table Access Method whose missing rows are fetched from the source on read and written through locally"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1.0", "postgres": "Unknown", "extension": {"url": "/e/pg_delta_am/", "text": "pg_delta_am"}, "description": "Delta table access method skeleton"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "0.1", "postgres": "Unknown", "extension": {"url": "/e/traceam/", "text": "traceam"}, "description": "Simple table access method that just prints out what functions in the access methods and related functions that are called."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "1.0", "postgres": "Unknown", "extension": {"url": "/e/treedb_pgext/", "text": "treedb_pgext"}, "description": "TreeDB table access method (Phase 0 prototype)"}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-30", "version": "2.4.0", "postgres": "16, 17, 18", "extension": {"url": "/e/open_pg_tde/", "text": "open_pg_tde"}, "description": "Transparent data encryption for upstream PostgreSQL using the tde_heap access method, including tables, indexes, TOAST, WAL, and temporary files."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-31", "version": "1.7.0", "postgres": "Unknown", "extension": {"url": "/e/autocluster/", "text": "autocluster"}, "description": "EDB table access method that preserves clustering locality during inserts."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-31", "version": "1.7.0", "postgres": "15, 16, 17, 18", "extension": {"url": "/e/bluefin/", "text": "bluefin"}, "description": "Append-only compressed table access method for time-series workloads."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-31", "version": "1.0", "postgres": "17", "extension": {"url": "/e/optimized_row_format/", "text": "optimized_row_format"}, "description": "Experimental table access method for compact, cache-friendly row storage."}, {"scope": "Primary documentation reviewed separately below", "checked": "2026-09-19", "version": "1.0-alpha4", "postgres": "15, 16, 17, 18, 19", "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "description": "Native column-oriented table access method with compression, vectorized scans, and Parquet workflows."}, {"scope": "Catalogue candidate; interface unverified", "checked": "2026-08-31", "version": "1.7.0", "postgres": "Unknown", "extension": {"url": "/e/refdata/", "text": "refdata"}, "description": "EDB table access method for frequently read, rarely changed reference data."}], "title": "Table AM candidates", "caption": "Current catalogue observation 2026-09-29 from pgext.universe. Extension versions, source metadata dates and declared PostgreSQL compatibility are independent of the selected core version. Catalogue classification does not establish capabilities or maintenance support.", "columns": [{"key": "extension", "label": "Existing extension"}, {"key": "version", "label": "Catalogued version"}, {"key": "postgres", "label": "Declared PG majors"}, {"key": "checked", "label": "Metadata checked"}, {"key": "scope", "label": "Evidence scope"}, {"key": "description", "label": "Catalogued purpose"}]}, {"key": "tableam-reviewed-capabilities", "rows": [{"state": "Verified in documentation", "detail": "Native columnar Table AM. This reviewed version is an alpha release.", "version": "1.0-alpha4", "evidence": {"url": "https://github.com/commandprompt/pgcolumnar/blob/0d3100dd4fa76d1b915826be742e9286f621bc29/README.md", "text": "2026-09-29 \u00b7 0d3100dd4fa7 \u00b7 README.md"}, "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "capability": "Table AM identity"}, {"state": "Conditional", "detail": "The planner can create parallel columnar scans; cost and worker settings determine plan selection.", "version": "1.0-alpha4", "evidence": {"url": "https://github.com/commandprompt/pgcolumnar/blob/0d3100dd4fa76d1b915826be742e9286f621bc29/docs/limitations.md", "text": "2026-09-29 \u00b7 0d3100dd4fa7 \u00b7 docs/limitations.md"}, "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "capability": "Parallel scans"}, {"state": "Conditional", "detail": "Its own vacuum performs no parallel work. CLUSTER, VACUUM FULL and REPACK are rejected; extension compaction functions provide alternatives.", "version": "1.0-alpha4", "evidence": {"url": "https://github.com/commandprompt/pgcolumnar/blob/0d3100dd4fa76d1b915826be742e9286f621bc29/docs/limitations.md", "text": "2026-09-29 \u00b7 0d3100dd4fa7 \u00b7 docs/limitations.md"}, "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "capability": "Maintenance"}, {"state": "Verified limitation", "detail": "Sampling a columnar table raises an unsupported-operation error.", "version": "1.0-alpha4", "evidence": {"url": "https://github.com/commandprompt/pgcolumnar/blob/0d3100dd4fa76d1b915826be742e9286f621bc29/docs/limitations.md", "text": "2026-09-29 \u00b7 0d3100dd4fa7 \u00b7 docs/limitations.md"}, "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "capability": "TABLESAMPLE"}, {"state": "Unknown", "detail": "No distributed transaction guarantee was established by this review.", "version": "1.0-alpha4", "evidence": {"url": "https://github.com/commandprompt/pgcolumnar/blob/0d3100dd4fa76d1b915826be742e9286f621bc29/README.md", "text": "2026-09-29 \u00b7 0d3100dd4fa7 \u00b7 README.md"}, "extension": {"url": "/e/pgcolumnar/", "text": "pgcolumnar"}, "capability": "Distributed transaction guarantees"}], "title": "Primary-source capability observations", "caption": "Each statement applies to its named extension version and immutable source revision. Unlisted capabilities remain unknown. These are documentation observations, not runtime tests or current maintenance guarantees.", "columns": [{"key": "extension", "label": "Extension"}, {"key": "version", "label": "Reviewed version"}, {"key": "capability", "label": "Capability"}, {"key": "state", "label": "Evidence state"}, {"key": "detail", "label": "Conditions"}, {"key": "evidence", "label": "Evidence date and source"}]}]}