Re: WIP: Avoid creation of the free space map for small tables
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, John Naylor <jcnaylor@gmail.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-11-02T14:07:10Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > That's not what I'm saying. If we don't have the FSM, we have to > check every page of the table. If there's a workload where that > happens a lot on a table that is just under the size threshold for > creating the FSM, then it's likely to be a worst case for this patch. Hmm, you're assuming something not in evidence: why would that be the algorithm? On a FSM-less table, I'd be inclined to just check the last page and then grow the table if the tuple doesn't fit there. This would, in many cases, soon result in a FSM being created, but I think that's just fine. The point of the change is to optimize for cases where a table *never* gets more than a few inserts. Not, IMO, for cases where a table gets a lot of churn but never has a whole lot of live tuples. In the latter scenario we are far better off having a FSM. regards, tom lane
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