Hi Nikita, > Here is the patch set rebased onto current master (15 rel beta 2 with commit > from 29.06).
Thanks for the rebased patchset. This is a huge effort though. I suggest splitting it into several CF entries as we previously did with other patches (64-bit XIDs to name one, which BTW is arguably much simpler, but still we had to split it). This will simplify the review, limit the scope of the discussion and simplify passing the CI. Cfbot is already not happy with the patchset. 0001 - is already in a separate thread [1], that's good. I suggest marking it in the patch description for clarity. 0002, 0003 - I suggest focusing on these two in this thread and keep the rest of the changes for later discussion. Please submit 0004, 0005... next time, when we finish with 0001-0003. The order of proposed changes IMO is wrong. 0002 should refactor the default TOASTer in a manner similar to a pluggable one. Nothing should change from the user's perspective. If you do benchmarks, I suggest not to reference the previous talks. I familiarized myself with all the related talks linked before (took me some time...) and found them useless for the discussion since they don't provide exact steps to reproduce. Please provide exact scripts and benchmarks results for 0002 in this thread. 0003 should add an interface that allows replacing the default TOASTer with an alternative one. There is no need for contrib/dummy_toaster similarly as there is no contrib/ for a dummy TableAM. The provided example doesn't do much anyway since all the heavy lifting should be done in the callbacks implementation. For test purposes please use src/test/regress/. [1]: https://www.postgresql.org/message-id/de83407a-ae3d-a8e1-a788-920eb334f25b%40sigaev.ru -- Best regards, Aleksander Alekseev