Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints
Dilip Kumar <dilipbalaut@gmail.com>
Attachments
- v2-0001-Add-new-block-by-block-strategy-for-CREATE-DATABA.patch (text/x-patch) patch v2-0001
On Tue, Mar 22, 2022 at 8:53 PM Robert Haas <robertmhaas@gmail.com> wrote: > > On Tue, Mar 22, 2022 at 5:00 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > In my previous patch mistakenly I used src_dboid instead of > > dest_dboid. Fixed in this version. For destination db I have used > > lock mode as AccessSharedLock. Logically if we see access wise we > > don't want anyone else to be accessing that db but that is anyway > > protected because it is not visible to anyone else. So I think > > AccessSharedLock should be correct here because we are just taking > > this lock because we are accessing pages in shared buffers from this > > database's relations. > > Here's my worked-over version of your previous patch. I haven't tried > to incorporate your incremental patch that you just posted. Thanks for working on the comments. Please find the updated version which include below changes - Worked on the XXX comments added by you. - Added database level lock for the target database as well. - Used fake relcache and removed direct access to the smgr, I think it was not really necessary in ScanSourceDatabasePgClass() because we are using it for a very short period of time but still I have changed it, let me know if you think that it is unneccessary to create the fake relcache here. - Removed extra space in createdb.c and fixed test case. -- 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