Re: In-placre persistance change of a relation

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: hlinnaka(at)iki(dot)fi
Cc: michael(at)paquier(dot)xyz, nathandbossart(at)gmail(dot)com, postgres(at)jeltef(dot)nl, smithpb2250(at)gmail(dot)com, vignesh21(at)gmail(dot)com, jakub(dot)wartak(at)enterprisedb(dot)com, stark(dot)cfm(at)gmail(dot)com, barwick(at)gmail(dot)com, jchampion(at)timescale(dot)com, pryzby(at)telsasoft(dot)com, tgl(at)sss(dot)pgh(dot)pa(dot)us, rjuju123(at)gmail(dot)com, jakub(dot)wartak(at)tomtom(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org, bharath(dot)rupireddyforpostgres(at)gmail(dot)com
Subject: Re: In-placre persistance change of a relation
Date: 2024-12-27 08:25:02
Message-ID: 20241227.172502.1469028835873784534.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello. This is the updated version.

(Sorry for the delay; I've been a little swamped.)

- Undo logs are primarily stored in a fixed number of fixed-length
slots and are spilled into files under some conditions.

The number of slots is 32 (ULOG_SLOT_NUM), and the buffer length is
1024 (ULOG_SLOT_BUF_LEN). Both are currently non-configurable.

- Undo logs are now used only during recovery and no longer involved
in transaction ends for normal backends. Pending deletes for aborts
have been restored.

- Undo logs are stored on a per-Top-XID basis.

- RelationPreserverStorate() is no longer modified.

In this version, in the part following the introduction of orphan
storage prevention, the restriction on prepared transactions
persisting beyond server crashes (i.e., the prohibition) has been
removed. This is because handling for such cases has been reverted to
pendingDeletes.

Let me know if you have any questions or concerns.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

Attachment Content-Type Size
v36-0001-Add-XLOG-resource-for-the-undo-log-system.patch text/x-patch 18.1 KB
v36-0002-Delay-the-reset-of-UNLOGGED-relations.patch text/x-patch 3.3 KB
v36-0003-Add-new-function-TwoPhaseXidExists.patch text/x-patch 3.4 KB
v36-0004-Introduce-undo-log-implementation.patch text/x-patch 41.2 KB
v36-0005-Prevent-orphan-storage-files-after-server-crash.patch text/x-patch 27.1 KB
v36-0006-new-indexam-bit-for-unlogged-storage-compatibili.patch text/x-patch 5.1 KB
v36-0007-Transactional-buffer-persistence-switching.patch text/x-patch 20.8 KB
v36-0008-Make-smgrdounlinkall-accept-fork-numbers.patch text/x-patch 13.2 KB
v36-0009-Enable-commit-records-to-handle-fork-removals.patch text/x-patch 19.0 KB
v36-0010-Add-per-fork-deletion-support-to-pendingDeletes.patch text/x-patch 10.6 KB
v36-0011-Allow-init-fork-to-be-dropped.patch text/x-patch 2.3 KB
v36-0012-Prepare-for-preventing-DML-operations-on-relatio.patch text/x-patch 11.3 KB
v36-0013-Add-a-new-version-of-copy_file-to-allow-overwrit.patch text/x-patch 2.4 KB
v36-0014-In-place-persistance-change-to-UNLOGGED.patch text/x-patch 16.5 KB
v36-0015-Add-test-for-ALTER-TABLE-UNLOGGED.patch text/x-patch 15.5 KB
v36-0016-Add-function-RelationDropInitFork.patch text/x-patch 2.3 KB
v36-0017-In-place-persistence-change-to-LOGGED.patch text/x-patch 5.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas 'ads' Scherbaum 2024-12-27 08:42:00 Re: Crash: invalid DSA memory alloc request
Previous Message Zhijie Hou (Fujitsu) 2024-12-27 08:13:53 RE: Memory leak in pg_logical_slot_{get,peek}_changes