Re: reloption to prevent VACUUM from truncating empty pages at the end of relation

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-04-18T02:16:52Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add TRUNCATE parameter to VACUUM.

  2. Add vacuum_truncate reloption.

  3. Allow VACUUM to be run with index cleanup disabled.

On 2018-04-18 10:46:51 +0900, Michael Paquier wrote:
> On Tue, Apr 17, 2018 at 06:13:31PM -0700, Andres Freund wrote:
> > Not sure what you mean?
> 
> Do you need help on it?  I suggest that I could undertake the proposed
> patch and submit it earlier in the development cycle of v12.

I think it's at the very least two months of serious development work to
get it into a state ready for submission. And a good chunk of that not
even sketched out.  Replacing the hashtable is the easy part, the memory
management (Complicated due to lock-freeness. I'm thinking of using a
variant of epoch based reclamation) isn't really there, the management
of shared "open relations" state are the hard parts...

So yes, I could use help on it, but it'll be a lot of actual design and
investigatory work.

Greetings,

Andres Freund