From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. |
Date: | 2019-03-29 03:07:26 |
Message-ID: | E1h9hra-0000eL-4y@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE.
This moves the responsibility for:
- creating the storage necessary for a relation, including creating a
new relfilenode for a relation with existing storage
- non-transactional truncation of a relation
- VACUUM FULL / CLUSTER's rewrite of a table
below tableam.
This is fairly straight forward, with a bit of complexity smattered in
to move the computation of xid / multixid horizons below the AM, as
they don't make sense for every table AM.
Author: Andres Freund
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d25f519107bff602e1ebc81853fe592d020c118d
Modified Files
--------------
src/backend/access/heap/heapam_handler.c | 451 +++++++++++++++++++++++++++++++
src/backend/bootstrap/bootparse.y | 7 +-
src/backend/catalog/heap.c | 120 ++++----
src/backend/catalog/index.c | 11 +-
src/backend/catalog/storage.c | 88 ++++++
src/backend/commands/cluster.c | 342 ++---------------------
src/backend/commands/sequence.c | 30 +-
src/backend/commands/tablecmds.c | 180 ++++--------
src/backend/utils/cache/relcache.c | 77 +++---
src/include/access/tableam.h | 117 ++++++++
src/include/catalog/heap.h | 6 +-
src/include/catalog/storage.h | 3 +
src/include/utils/relcache.h | 3 +-
13 files changed, 856 insertions(+), 579 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2019-03-29 07:26:53 | pgsql: REINDEX CONCURRENTLY |
Previous Message | Peter Geoghegan | 2019-03-29 01:05:52 | Re: pgsql: Compute XID horizon for page level index vacuum on primary. |