Re: CREATE DATABASE with filesystem cloning

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: CREATE DATABASE with filesystem cloning
Date: 2024-05-21 12:08:13
Message-ID: CAEudQAp6vCBqzeRPazEYQoh3mTQQke-1cgm2PD+DytLdOz0iNg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Em ter., 21 de mai. de 2024 às 05:18, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
escreveu:

> Hi,
>
> On Thu, 16 May 2024 at 17:47, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> >
> > On Thu, May 16, 2024 at 9:43 AM Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
> wrote:
> > > Actually, the documentation for the file_copy_method was mentioning
> > > the things it controls; I converted it to an itemized list now. Also,
> > > changed the comment to: 'Further uses of this function requires
> > > updates to the list that GUC controls in its documentation.'. v7 is
> > > attached.
> >
> > I think the comments need some wordsmithing.
>
> I changed it to 'Uses of this function must be documented in the list
> of places affected by this GUC.', I am open to any suggestions.
>
> > I don't see why this parameter should be PGC_POSTMASTER.
>
> I changed it to 'PGC_USERSET' now. My initial point was the database
> or tablespace to be copied with the same method. I thought copying
> some portion of the database with the copy and rest with the clone
> could cause potential problems. After a bit of searching, I could not
> find any problems related to that.
>
> v8 is attached.
>
Hi,
I did some research on the subject and despite being an improvement,
I believe that some terminologies should be changed in this patch.
Although the new function is called *clone_file*, I'm not sure if it really
is "clone".
Why MacOS added an API called clonefile [1] and Linux exists
another called FICLONE.[2]
So perhaps it should be treated here as a copy and not a clone?
Leaving it open, is the possibility of implementing a true clone api?
Thoughts?

best regards,
Ranier Vilela

[1] clonefile <https://www.unix.com/man-page/mojave/2/clonefile/>
[2] ioctl_ficlonerange
<https://www.unix.com/man-page/linux/2/ioctl_ficlonerange/>

>
> --
> Regards,
> Nazir Bilal Yavuz
> Microsoft
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2024-05-21 12:25:21 Re: Convert node test compile-time settings into run-time parameters
Previous Message Heikki Linnakangas 2024-05-21 11:48:19 Re: Path to unreverting "Allow planner to use Merge Append to efficiently implement UNION"