Re: WIP: Avoid creation of the free space map for small tables
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: John Naylor <jcnaylor@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-10-31T16:59:21Z
Lists: pgsql-hackers
On Tue, Oct 23, 2018 at 9:42 AM John Naylor <jcnaylor@gmail.com> wrote: > A case could be made for setting the threshold to 4, since not having > 3 blocks of FSM in shared buffers exactly makes up for the 3 other > blocks of heap that are checked when free space runs out. That doesn't seem like an unreasonable argument. I'm not sure whether the right threshold is 4 or something a little bigger, but I bet it's not very large. It seems important to me that before anybody thinks about committing this, we construct some kind of destruction case where repeated scans of the whole table are triggered as frequently as possible, and then run that test with varying thresholds. I might be totally wrong, but I bet with a value as large as 32 you will be able to find cases where it regresses in a big way. We also need to think about what happens on the standby, where the FSM is updated in a fairly different way. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Improve code comments in b0eaa4c51b.
- 06c8a5090ed9 12.0 landed
-
During pg_upgrade, conditionally skip transfer of FSMs.
- 13e8643bfc29 12.0 landed
-
Add more tests for FSM.
- 6f918159a97a 12.0 landed
-
Doc: Update the documentation for FSM behavior for small tables.
- 29d108cdecbe 12.0 landed
-
Make FSM test portable.
- 08ecdfe7e5e0 12.0 landed
-
Avoid creation of the free space map for small heap relations, take 2.
- b0eaa4c51bbf 12.0 landed
-
Move page initialization from RelationAddExtraBlocks() to use, take 2.
- 0d1fe9f74e36 12.0 cited
-
Avoid creation of the free space map for small heap relations.
- ac88d2962a96 12.0 landed
-
In bootstrap mode, don't allow the creation of files if they don't already
- d66e3664b8ba 12.0 landed