Re: In-placre persistance change of a relation - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: In-placre persistance change of a relation
Date
Msg-id 20230814193848.GA1573015@nathanxps13
Whole thread Raw
In response to Re: In-placre persistance change of a relation  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses Re: In-placre persistance change of a relation  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-hackers
I think there are some good ideas here.  I started to take a look at the
patches, and I've attached a rebased version of the patch set.  Apologies
if I am repeating any discussions from upthread.

First, I tested the time difference in ALTER TABLE SET UNLOGGED/LOGGED with
the patch applied, and the results looked pretty impressive.

    before:
    postgres=# alter table test set unlogged;
    ALTER TABLE
    Time: 5108.071 ms (00:05.108)
    postgres=# alter table test set logged;
    ALTER TABLE
    Time: 6747.648 ms (00:06.748)

    after:
    postgres=# alter table test set unlogged;
    ALTER TABLE
    Time: 25.609 ms
    postgres=# alter table test set logged;
    ALTER TABLE
    Time: 1241.800 ms (00:01.242)

My first question is whether 0001 is a prerequisite to 0002.  I'm assuming
it is, but the reason wasn't immediately obvious to me.  If it's just
nice-to-have, perhaps we could simplify the patch set a bit.  I see that
Heikki had some general concerns with the marker file approach [0], so
perhaps it is at least worth brainstorming some alternatives if we _do_
need it.

[0] https://postgr.es/m/9827ebd3-de2e-fd52-4091-a568387b1fc2%40iki.fi

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: CREATE FUNCTION ... SEARCH { DEFAULT | SYSTEM | SESSION }
Next
From: Satwik Sharma
Date:
Subject: Regarding Contributions