Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Greg Nancarrow <gregn4422(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints
Date: 2021-12-15 18:45:44
Message-ID: 20211215184544.GA4440@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 2, 2021 at 07:19:50PM +0530, Dilip Kumar wrote:
From the patch:

> Currently, CREATE DATABASE forces a checkpoint, then copies all the files,
> then forces another checkpoint. The comments in the createdb() function
> explain the reasons for this. The attached patch fixes this problem by making
> create database completely WAL logged so that we can avoid the checkpoints.
>
> This can also be useful for supporting the TDE. For example, if we need different
> encryption for the source and the target database then we can not re-encrypt the
> page data if we copy the whole directory. But with this patch, we are copying
> page by page so we have an opportunity to re-encrypt the page before copying that
> to the target database.

Uh, why is this true? Why can't we just copy the heap/index files 8k at
a time and reencrypt them during the file copy, rather than using shared
buffers?

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2021-12-15 18:50:10 Re: Privilege required for IF EXISTS event if the object already exists
Previous Message Bossart, Nathan 2021-12-15 18:32:02 Re: archive modules