RE: reloption to prevent VACUUM from truncating empty pages at the end of relation
Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com>
From: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
To: 'Fujii Masao' <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-04-19T05:32:44Z
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
From: Fujii Masao [mailto:masao.fujii@gmail.com] > a very long time before accessing to the relation. Which would cause the > response-time spikes, for example, I observed such spikes several times > on > the server with shared_buffers = 300GB while running the benchmark. FYI, a long transaction took about 900 ms, while the average transaction response time was 150 ms or so. (I'm working with Fujii-san in this performance benchmark.) > Therefore, I'm thinking to propose $SUBJECT and enable it to avoid such > spikes > for that relation. How about an integer variable to replace the following? #define REL_TRUNCATE_FRACTION 16 > Also, first of all, if other transactions need to extend the relation > (i.e., need new pages) as soon as VACUUM truncates the empty pages at the > end, > that truncation would not be so helpful for performance. In this case, > the truncation and extension of the relation are unnecessarily repeated, > which would decrease the performance. So, to alleviate this situation, > $SUBJECT is useful, I think. I wonder if fillfactor=50 would alleviate this situation. Regards Takayuki Tsunakawa