Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints
Dilip Kumar <dilipbalaut@gmail.com>
Attachments
- v10-0002-Extend-relmap-interfaces.patch (text/x-patch) patch v10-0002
- v10-0001-Refactor-relmap-load-and-relmap-write-functions.patch (text/x-patch) patch v10-0001
- v10-0003-Refactor-index_copy_data.patch (text/x-patch) patch v10-0003
- v10-0004-Extend-bufmgr-interfaces.patch (text/x-patch) patch v10-0004
- v10-0005-New-interface-to-lock-relation-id.patch (text/x-patch) patch v10-0005
- v10-0006-WAL-logged-CREATE-DATABASE.patch (text/x-patch) patch v10-0006
On Tue, Mar 1, 2022 at 5:15 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > On Tue, Feb 22, 2022 at 8:27 PM Ashutosh Sharma <ashu.coek88@gmail.com> > wrote: > >> I'm not sure about the current status, but found it while playing >> around with the latest changes a bit, so thought of sharing it here. >> >> + <varlistentry> >> + <term><replaceable class="parameter">strategy</replaceable></term> >> + <listitem> >> + <para> >> + This is used for copying the database directory. Currently, we >> have >> + two strategies the <literal>WAL_LOG_BLOCK</literal> and the >> >> Isn't it wal_log instead of wal_log_block? >> >> I think when users input wrong strategy with createdb command, we >> should provide a hint message showing allowed values for strategy >> types along with an error message. This will be helpful for the users. >> > > I will fix these two comments while posting the next version. > > The new version of the patch fixes these 2 comments pointed by Ashutosh and also splits the GetRelListFromPage() function as suggested by Robert and uses the latest snapshot for scanning the pg_class instead of active snapshot as pointed out by Robert. I haven't yet added the test case to create a database using this new strategy option. So if we are okay with these two options FILE_COPY and WAL_LOG then I will add test cases for the same. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
When using the WAL-logged CREATE DATABASE strategy, bulk extend.
- 3e63e8462f31 16.0 landed
- 576bb0fc9342 15.0 landed
-
Avoid using a fake relcache entry to own an SmgrRelation.
- 1b94f8f232f6 15.0 landed
- 76733b399c49 16.0 landed
-
Fix data-corruption hazard in WAL-logged CREATE DATABASE.
- 692df425b688 16.0 landed
- 811203d4aff5 15.0 landed
-
initdb: When running CREATE DATABASE, use STRATEGY = WAL_COPY.
- ad43a413c4f7 15.0 landed
-
Simplify a needlessly-complicated regular expression.
- c6863b858291 15.0 landed
-
In 020_createdb.pl, change order of command-line arguments.
- 3d067c53b26d 15.0 landed
-
Add new block-by-block strategy for CREATE DATABASE.
- 9c08aea6a309 15.0 landed
-
Fix replay of create database records on standby
- 49d9cfc68bf4 15.0 cited
-
Refactor code for reading and writing relation map files.
- 39f0c4bd670c 15.0 landed
-
Replace RelationOpenSmgr() with RelationGetSmgr().
- f10f0ae420ee 15.0 cited
-
Refactor the fsync queue for wider use.
- 3eb77eba5a51 12.0 cited