Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints
Andrew Dunstan <andrew@dunslane.net>
On 2/10/22 07:32, Dilip Kumar wrote: > On Wed, Feb 9, 2022 at 9:31 PM Robert Haas <robertmhaas@gmail.com> wrote: >> On Wed, Feb 9, 2022 at 10:59 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: >>> On Wed, Feb 9, 2022 at 9:25 PM Andrew Dunstan <andrew@dunslane.net> wrote: >>>> On 6/16/21 03:52, Dilip Kumar wrote: >>>>> On Tue, Jun 15, 2021 at 7:01 PM Andrew Dunstan <andrew@dunslane.net> wrote: >>>>>> Rather than use size, I'd be inclined to say use this if the source >>>>>> database is marked as a template, and use the copydir approach for >>>>>> anything that isn't. >>>>> Yeah, that is possible, on the other thought wouldn't it be good to >>>>> provide control to the user by providing two different commands, e.g. >>>>> COPY DATABASE for the existing method (copydir) and CREATE DATABASE >>>>> for the new method (fully wal logged)? >>>> This proposal seems to have gotten lost. >>> Yeah, I am planning to work on this part so that we can support both methods. >> But can we pick a different syntax? In my view this should be an >> option to CREATE DATABASE rather than a whole new command. > Maybe we can provide something like > > CREATE DATABASE..WITH WAL_LOG=true/false ? OR > CREATE DATABASE..WITH WAL_LOG_DATA_PAGE=true/false ? OR > CREATE DATABASE..WITH CHECKPOINT=true/false ? OR > > And then we can explain in documentation about these options? I think > default should be new method? > > The last one at least has the advantage that it doesn't invent yet another keyword. I can live with the new method being the default. I'm sure it would be highlighted in the release notes too. cheers andrew -- Andrew Dunstan EDB: https://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