Re: reloption to prevent VACUUM from truncating empty pages at the end of relation
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Michael Paquier <michael@paquier.xyz>,
Julien Rouhaud <rjuju123@gmail.com>,
Laurenz Albe <laurenz.albe@cybertec.at>,
"Jamison,
Kirk" <k.jamison@jp.fujitsu.com>,
Amit Kapila <amit.kapila16@gmail.com>,
Fujii Masao <masao.fujii@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-03-01T19:14:35Z
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
Robert Haas <robertmhaas@gmail.com> writes: > I want to make one other point about this patch, which is that over on > the thread "New vacuum option to do only freezing" we have a patch > that does a closely-related thing. Both patches skip one phase of the > overall VACUUM process. THIS patch wants to skip truncation; THAT > patch wants to skip index cleanup. Over there, we seem to have > settled on DISABLE_INDEX_CLEANUP -- only available as a VACUUM option > -- and here I think the proposal is currently VACUUM_SHRINK_ENABLED -- > only available as a reloption. > Now that seems not very consistent. Indeed, but I'm not sure that the use-cases are the same. In particular, unless somebody has done some rather impossible magic, it would be disastrous to apply DISABLE_INDEX_CLEANUP as a reloption, because then it would be persistent and you'd never get a real vacuum operation and soon your disk would be full. Permanently applying truncation disabling seems less insane. The gratuitously inconsistent spellings should be harmonized, for sure. regards, tom lane