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: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>, Fujii Masao <masao.fujii@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Julien Rouhaud <rjuju123@gmail.com>, David Steele <david@pgmasters.net>, "Bossart, Nathan" <bossartn@amazon.com>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Michael Paquier <michael@paquier.xyz>, Laurenz Albe <laurenz.albe@cybertec.at>, "Jamison, Kirk" <k.jamison@jp.fujitsu.com>, Amit Kapila <amit.kapila16@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-04-08T04:43:45Z
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 2019-04-08 00:38:44 -0400, Tom Lane wrote: > "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com> writes: > > From: Tom Lane [mailto:tgl@sss.pgh.pa.us] > >> And, as far as I can see from a quick review of the thread, > >> we don't really have consensus on the names and behaviors. Personally I think the name just needs some committer to make a call. This largely is going to be used after encountering too many cancellations in production, and researching the cause. Minor spelling differences don't seem to particularly matter here. > My own dog in this fight is that we shouldn't have the option at all, > never mind what the name is. A persistent reloption to disable truncation > seems like a real foot-gun. I'd be okay with a VACUUM command option, > but for some reason that isn't there at all. I think it needs to be an autovac option. The production issue is that autovacuums constantly cancel queries on the standbys despite hot_standby_feedback if you have a workload that does frequent truncations. If there's no way to configure it in a way that autovacuum takes it into account, people will just disable autovacuum and rely entirely on manual scripts. That's what already happens - leading to a much bigger foot-gun than disabling truncation. FWIW, people already in production use the workaround to configuring snapshot_too_old as that, for undocumented reasons, disables trunctations. That's not better either. Greetings, Andres Freund