Re: WIP: Avoid creation of the free space map for small tables
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: John Naylor <john.naylor@2ndquadrant.com>
Cc: Sawada Masahiko <sawada.mshk@gmail.com>,
Mithun Cy <mithun.cy@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-01-30T13:11:01Z
Lists: pgsql-hackers
On Wed, Jan 30, 2019 at 3:26 PM John Naylor <john.naylor@2ndquadrant.com> wrote: > > On Wed, Jan 30, 2019 at 4:33 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > There are two more failures which we need to something about. > > 1. Make fsm.sql independent of vacuum without much losing on coverage > > of newly added code. John, I guess you have an idea, see if you can > > take care of it, otherwise, I will see what I can do for it. > > I've attached a patch that applies on top of v19 that uses Andrew > Gierth's idea to use fillfactor to control free space. I've also > removed tests that relied on truncation and weren't very useful to > begin with. > This is much better than the earlier version of test and there is no dependency on the vacuum. However, I feel still there is some dependency on how the rows will fit in a page and we have seen some related failures due to alignment stuff. By looking at the test, I can't envision any such problem, but how about if we just write some simple tests where we can check that the FSM won't be created for very small number of records say one or two and then when we increase the records FSM gets created, here if we want, we can even use vacuum to ensure FSM gets created. Once we are sure that the main patch passes all the buildfarm tests, we can extend the test to something advanced as you are proposing now. I think that will reduce the chances of failure, what do you think? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
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