Wiki / Table AM
Table AM
Compare versionsTable access methods, tuple organization, MVCC, maintenance and implementation boundaries.
Reading PostgreSQL 18.6.
1 core entry; 1 recorded in PostgreSQL 18.6.
-
heap Core table AM
Core table AM
The built-in heap table access method integrates tuple storage, visibility, scans, index fetches and maintenance with PostgreSQL.
RecordedFirst recordedInterface or attribute changeNo longer recorded
Squares indicate presence in sampled builds, not first introduction. Select a square for the same-version definition and sources.
Changes in PostgreSQL 18.6 · Export JSON
Table AM candidates
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.
23 directory rows.
| Existing extension | Catalogued version | Declared PG majors | Metadata checked | Evidence scope | Catalogued purpose |
|---|---|---|---|---|---|
| citus_columnar | 14.2.0 | 16, 17, 18 | 2026-08-30 | Catalogue candidate; interface unverified | Citus columnar storage engine |
| columnar | 1.1.2 | 14, 15, 16 | 2026-08-30 | Catalogue candidate; interface unverified | Hydra Columnar extension |
| pg_mooncake | 0.2.0 | 14, 15, 16, 17, 18 | 2026-08-30 | Catalogue candidate; interface unverified | Columnstore Table in Postgres |
| storage_engine | 2.4.0 | 15, 16, 17, 18 | 2026-08-30 | Catalogue candidate; interface unverified | colcompress and rowcompress Table Access Methods with vectorized execution |
| pg_cryogen | 0.1 | 12, 13, 14, 15, 16, 17, 18 | 2026-08-30 | Catalogue candidate; interface unverified | Experimental append-only compressed table access method for PostgreSQL 12 and later. |
| undam | 0.1 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | UNDO storage table access method with in-place updates |
| tcle | 1.0 | 12, 13 | 2026-08-30 | Catalogue candidate; interface unverified | Experimental table access method for transparent AES-256-CBC encryption of selected column types. |
| append_only_heap | 1.0 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | PostgreSQL table access method that avoids fragmentation of variable-length append-only data. |
| redis_backed_storage | 0.0.0 | 11, 12, 13, 14, 15, 16 | 2026-08-30 | Catalogue candidate; interface unverified | Experimental PostgreSQL table access method backed by Redis storage. |
| pgrand | 0.1.0 | 15, 16 | 2026-08-30 | Catalogue candidate; interface unverified | Generates random test data through a PostgreSQL FDW, with an experimental table access method. |
| pg_elephantduck | 0.0.0 | 16, 17 | 2026-08-30 | Catalogue candidate; interface unverified | Columnar PostgreSQL table access method powered by DuckDB and Parquet storage. |
| csv_tam | 0.0.1 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | CSV table access method for PostgreSQL that stores table tuples in CSV-formatted relation files. |
| pgtam | 0.0.1 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | Experimental in-memory PostgreSQL table access method implemented as a C extension. |
| gfs | 0.0.1 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | GFS copy-on-read storage: a Table Access Method whose missing rows are fetched from the source on read and written through locally |
| pg_delta_am | 0.1.0 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | Delta table access method skeleton |
| traceam | 0.1 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | Simple table access method that just prints out what functions in the access methods and related functions that are called. |
| treedb_pgext | 1.0 | Unknown | 2026-08-30 | Catalogue candidate; interface unverified | TreeDB table access method (Phase 0 prototype) |
| open_pg_tde | 2.4.0 | 16, 17, 18 | 2026-08-30 | Catalogue candidate; interface unverified | Transparent data encryption for upstream PostgreSQL using the tde_heap access method, including tables, indexes, TOAST, WAL, and temporary files. |
| autocluster | 1.7.0 | Unknown | 2026-08-31 | Catalogue candidate; interface unverified | EDB table access method that preserves clustering locality during inserts. |
| bluefin | 1.7.0 | 15, 16, 17, 18 | 2026-08-31 | Catalogue candidate; interface unverified | Append-only compressed table access method for time-series workloads. |
| optimized_row_format | 1.0 | 17 | 2026-08-31 | Catalogue candidate; interface unverified | Experimental table access method for compact, cache-friendly row storage. |
| pgcolumnar | 1.0-alpha4 | 15, 16, 17, 18, 19 | 2026-09-19 | Primary documentation reviewed separately below | Native column-oriented table access method with compression, vectorized scans, and Parquet workflows. |
| refdata | 1.7.0 | Unknown | 2026-08-31 | Catalogue candidate; interface unverified | EDB table access method for frequently read, rarely changed reference data. |
Primary-source capability observations
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.
5 directory rows.
| Extension | Reviewed version | Capability | Evidence state | Conditions | Evidence date and source |
|---|---|---|---|---|---|
| pgcolumnar | 1.0-alpha4 | Table AM identity | Verified in documentation | Native columnar Table AM. This reviewed version is an alpha release. | 2026-09-29 · 0d3100dd4fa7 · README.md |
| pgcolumnar | 1.0-alpha4 | Parallel scans | Conditional | The planner can create parallel columnar scans; cost and worker settings determine plan selection. | 2026-09-29 · 0d3100dd4fa7 · docs/limitations.md |
| pgcolumnar | 1.0-alpha4 | Maintenance | Conditional | Its own vacuum performs no parallel work. CLUSTER, VACUUM FULL and REPACK are rejected; extension compaction functions provide alternatives. | 2026-09-29 · 0d3100dd4fa7 · docs/limitations.md |
| pgcolumnar | 1.0-alpha4 | TABLESAMPLE | Verified limitation | Sampling a columnar table raises an unsupported-operation error. | 2026-09-29 · 0d3100dd4fa7 · docs/limitations.md |
| pgcolumnar | 1.0-alpha4 | Distributed transaction guarantees | Unknown | No distributed transaction guarantee was established by this review. | 2026-09-29 · 0d3100dd4fa7 · README.md |
Reading this collection
Table AM is the native table access-method interface, available from PostgreSQL 12. Heap storage in older releases is not presented as an implementation of that later API. FDWs, database forks and unrelated storage architectures remain distinct.