Re: [HACKERS] [WIP] Effective storage of duplicates in B-tree index.
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
23.08.2019 7:33, Peter Geoghegan wrote: > On Wed, Aug 21, 2019 at 10:19 AM Anastasia Lubennikova > <a.lubennikova@postgrespro.ru> wrote: >> I'm going to look through the patch once more to update nbtxlog >> comments, where needed and >> answer to your remarks that are still left in the comments. > Have you been using amcheck's rootdescend verification? No, I haven't checked it with the latest version yet. > There were many large indexes that amcheck didn't detect a problem > with. I don't yet understand what the problem is, or why we only see > the problem for a small number of indexes. Note that all of these > indexes passed verification with v5, so this is some kind of > regression. > > I also noticed that there were some regressions in the size of indexes > -- indexes were not nearly as small as they were in v5 in some cases. > The overall picture was a clear regression in how effective > deduplication is. Do these indexes have something in common? Maybe some specific workload? Are there any error messages in log? I'd like to specify what caused the problem. There were several major changes between v5 and v8: - dead tuples handling added in v6; - _bt_split changes for posting tuples in v7; - WAL logging of posting tuple changes in v8. I don't think the last one could break regular indexes on master. Do you see the same regression in v6, v7? > I think that it would save time if you had direct access to my test > data, even though it's a bit cumbersome. You'll have to download about > 10GB of dumps, which require plenty of disk space when restored: > > > Want me to send this data and the associated tests script over to you? > Yes, I think it will help me to debug the patch faster. -- Anastasia Lubennikova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Teach pageinspect about nbtree deduplication.
- 93ee38eade1b 13.0 landed
-
Doc: Fix deduplicate_items index term.
- e537aed61db7 13.0 landed
-
Revise BTP_HAS_GARBAGE nbtree VACUUM comments.
- 4b25f5d0ba01 13.0 cited
-
Remove unneeded "pin scan" nbtree VACUUM code.
- 9f83468b3536 13.0 landed
-
Cleanup code in reloptions.h regarding reloption handling
- 50d22de9325f 13.0 cited
-
Catch invalid typlens in a couple of places
- 8557a6f10ca6 13.0 cited
-
Compute XID horizon for page level index vacuum on primary.
- 558a9165e081 12.0 cited
-
Make heap TID a tiebreaker nbtree index column.
- dd299df8189b 12.0 cited
-
Avoid pin scan for replay of XLOG_BTREE_VACUUM in all cases
- 3e4b7d87988f 9.6.0 cited
-
Revert buggy optimization of index scans
- c7111d11b188 9.6.0 cited
-
Restructure index access method API to hide most of it at the C level.
- 65c5fcd353a8 9.6.0 cited
-
Reduce pinning and buffer content locking for btree scans.
- 2ed5b87f96d4 9.5.0 cited
-
Avoid scanning nulls at the beginning of a btree index scan.
- 1a77f8b63d15 9.2.0 cited