At PgCon 2023 in Ottawa we had an Unconference session on Table Access Methods [1]
One thing that was briefly mentioned (but is missing from the notes) is need to have a sample API client in contrib/ , both for having a 2nd user for API to make it more likely that non-heap AMs are doable and also to serve as an easy starting point for someone interested in developing a new AM. There are a few candidates which could be lightweight enough for this * in-memory temp tables, especially if you specify max table size at creation and/or limit data types which can be used. * "overlay tables" - tables which "overlay" another - possibly read-only - table and store only changed rows and tombstones for deletions. (this likely would make more sense as a FDW itself as Table AM currently knows nothing about Primary Keys and these are likely needed for overlays) * Table AM as a (pl/)Python Class - this is inspired by the amazing Multicorn [2] FDW-in-Python tool which made it ridiculously easy to expose anything (mailbox, twitter feed, git commit history, you-name-it) as a Foreign Table Creating any of these seems to be a project of size suitable for a student course project or maybe Google Summer of Code [3]. Included Mark Dilger directly to this mail as he mentioned he has a Perl script that makes a functional copy of heap AM that can be compiled as installed as custom AM. @mark - maybe you can create 3 boilerplate Table AMs for the above named `mem_am`, `overlay_am` and `py3_am` and we could put them somewhere for interested parties to play with ? [1] https://wiki.postgresql.org/wiki/PgCon_2023_Developer_Unconference#Table_AMs [2] https://multicorn.org/ - unfortunately unmaintained since 2016, but there are some forks supporting later PostgreSQL versions [3] https://wiki.postgresql.org/wiki/GSoC - Google Summer of Code --- Best Regards Hannu