Re: reloption to prevent VACUUM from truncating empty pages at the end of relation
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Laurenz Albe <laurenz.albe@cybertec.at>, "Jamison, Kirk" <k.jamison@jp.fujitsu.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>, Amit Kapila <amit.kapila16@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Fujii Masao <masao.fujii@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-02-21T16:32:17Z
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 →
-
Add TRUNCATE parameter to VACUUM.
- b84dbc8eb80b 12.0 landed
-
Add vacuum_truncate reloption.
- 119dcfad988d 12.0 landed
-
Allow VACUUM to be run with index cleanup disabled.
- a96c41feec6b 12.0 cited
Hi, On Mon, Feb 4, 2019 at 1:25 AM Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com> wrote: > > FYI, it seems that the user sees "shrink" rather than "truncate" in the documentation as below, although these are about VACUUM FULL. > > https://www.postgresql.org/docs/devel/sql-vacuum.html > would like the table to physically shrink to occupy less disk space > > https://www.postgresql.org/docs/devel/routine-vacuuming.html > shrink a table back to its minimum size and return the disk space to the operating system, > > > > Anyway, I don't have any favor about naming this, and I hope native English speakers will choose the best name. I won't object to whatever name any committer chooses. FWIW, I prefer shrink over truncate, though I'd rather go with vacuum_shink_enabled as suggested previously. The patch still applies cleanly and works as intended. About: + * shrink_enabled can be set at ShareUpdateExclusiveLock because it + * is only used during VACUUM, which uses a ShareUpdateExclusiveLock, + * so the VACUUM will not be affected by in-flight changes. Changing its + * value has no affect until the next VACUUM, so no need for stronger lock. I'm not sure that I get this comment. Since both require a ShareUpdateExclusiveLock, you can't change the parameter while a VACUUM is active on that table. Did you wanted to use another lock mode?