mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
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
This commit is contained in:
@ -209,6 +209,9 @@ Boot_CreateStmt:
|
||||
|
||||
if ($4)
|
||||
{
|
||||
TransactionId relfrozenxid;
|
||||
MultiXactId relminmxid;
|
||||
|
||||
if (boot_reldesc)
|
||||
{
|
||||
elog(DEBUG4, "create bootstrap: warning, open relation exists, closing first");
|
||||
@ -226,7 +229,9 @@ Boot_CreateStmt:
|
||||
RELPERSISTENCE_PERMANENT,
|
||||
shared_relation,
|
||||
mapped_relation,
|
||||
true);
|
||||
true,
|
||||
&relfrozenxid,
|
||||
&relminmxid);
|
||||
elog(DEBUG4, "bootstrap relation created");
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user