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: Michael Paquier <michael@paquier.xyz>
Cc: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>,
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-25T07:47:28Z
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
On Mon, Feb 25, 2019 at 7:56 AM Michael Paquier <michael@paquier.xyz> wrote:
>
> On Mon, Feb 25, 2019 at 02:38:05AM +0000, Tsunakawa, Takayuki wrote:
> > From: Julien Rouhaud [mailto:rjuju123@gmail.com]
> >> One last thing, I think we should at least add one regression test for
> >> this setting. The one you provided previously seems perfectly suited.
> >
> > Thanks, added.
>
> +SELECT pg_relation_size('reloptions_test');
> + pg_relation_size
> +------------------
> + 8192
> +(1 row)
> This makes the test page-size sensitive. While we don't ensure that
> tests can be run with different page sizes, we should make a maximum
> effort to keep the tests compatible if that's easy enough. In this
> case you could just use > 0 as base comparison. I can fix that by
> myself, so no need to send a new version.
Ah good point. We could also use something like
pg_relation_size('reloptions_test') /
current_setting('block_size')::bigint but >0 should be enough for this
test.
> Should we also document that the parameter is effective for
> autovacuum? The name can lead to confusion regarding that.
+1