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

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
Cc: Neha Sharma <neha(dot)sharma(at)enterprisedb(dot)com>, 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-09 07:16:24
Message-ID: CAFiTN-sNj5=fq32V9XZBY2r=tjZi5NNdBse-Wsxv6cFUqMK71Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 9, 2021 at 12:42 PM Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> wrote:
>
> Hi,
>
> The issue here is that we are trying to create a table that exists inside a non-default tablespace when doing ALTER DATABASE. I think this should be skipped otherwise we will come across the error like shown below:
>
> ashu(at)postgres=# alter database test set tablespace pg_default;
> ERROR: 58P02: could not create file "pg_tblspc/16385/PG_15_202111301/16386/16390": File exists
>
> I have taken the above from Neha's test-case.
>
> --
>
> Attached patch fixes this. I am passing a new boolean flag named *movedb* to CopyDatabase() so that it could skip the creation of tables existing in non-default tablespace when doing alter database. Alternatively, we can also rename the boolean flag movedb to createdb and pass its value accordingly from movedb() or createdb(). Either way looks fine to me. Kindly check the attached patch for the changes.
>
> Dilip, Could you please check the attached patch and let me know if it looks fine or not?
>
> Neha, can you please re-run the test-cases with the attached patch.

Thanks Ahustosh, yeah I have observed the same, earlier we were
directly copying the whole directory so this was not an issue, now if
some tables of the database are already in the destination tablespace
then we should skip them while copying. I will review your patch and
merge into the main patch.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Maciek Sakrejda 2021-12-09 07:31:50 Re: should we document an example to set multiple libraries in shared_preload_libraries?
Previous Message Amul Sul 2021-12-09 07:13:19 Re: Multi-Column List Partitioning